Dev Proxy Toolkit-Diagnose

Die Dev Proxy Toolkit VS Code-Erweiterung analysiert Ihre Dev Proxy-Konfigurationsdateien und hebt potenzielle Probleme hervor. Jede Diagnose verfügt über einen Code, der mit dieser Seite verknüpft ist, um Anleitungen zur Lösung zu erhalten.

Referenz zu Diagnosecodes

Code Schweregrad Description
apiCenterPluginOrder Warnung Falsche Plug-In-Reihenfolge für API Center
veraltetPluginPath Fehler Verwenden des alten Plug-In-DLL-Pfads
emptyUrlsToWatch Informationen Keine URLs, die für das Abfangen konfiguriert sind
invalidConfigSection Warnung Abschnitt "Verwaiste Konfiguration"
invalidConfigSectionSchema Warnung Nichtübereinstimmung der Konfigurationsabschnittsschemaversion
invalidConfigValue Fehler Ungültiger Wert im Konfigurationsabschnitt
invalidSchema Warnung Schemaversionskonflikt mit installierten Dev Proxy
missingLanguageModel Informationen Plug-In kann das lokale Sprachmodell verwenden, um die Ausgabe zu verbessern.
noEnabledPlugins Warnung Es sind keine Plug-Ins aktiviert.
pluginConfigMissing Fehler/Warnung Referenzierter Konfigurationsabschnitt fehlt
pluginConfigNotRequired Fehler/Warnung Unnötiger Konfigurationsabschnitt
pluginConfigRequired Fehler/Warnung Plug-In erfordert Konfiguration
reporterPosition Warnung Reporter Plugin nicht am Ende der Liste
summaryWithoutReporter Warnung Sammel-Plug-In ohne Reporter
unknownConfigProperty Warnung Unbekannte Eigenschaft im Konfigurationsabschnitt

apiCenterPluginOrder

Schweregrad: Warnung
Schnellkorrektur verfügbar: Nein

OpenApiSpecGeneratorPlugin wird nach ApiCenterOnboardingPlugin.

Ursache

OpenApiSpecGeneratorPlugin muss die OpenAPI-Spezifikation generieren, bevor ApiCenterOnboardingPlugin sie verwendet werden kann.

Beschluss

Vor OrtOpenApiSpecGeneratorPlugin:ApiCenterOnboardingPlugin

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenApiSpecGeneratorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    },
    {
      "name": "ApiCenterOnboardingPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "apiCenterOnboardingPlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "apiCenterOnboardingPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/apicenteronboardingplugin.schema.json",
    "subscriptionId": "your-subscription-id",
    "resourceGroupName": "your-resource-group",
    "serviceName": "your-api-center",
    "workspaceName": "default"
  }
}

veraltetPluginPath

Schweregrad: Fehler
Schnellkorrektur verfügbar: Ja

Dies pluginPath verwendet ein veraltetes Pfadformat.

Ursache

In Dev Proxy v0.29 wurde die Plug-In-DLL von dev-proxy-plugins.dll in DevProxy.Plugins.dll" umbenannt.

Beschluss

Aktualisieren Sie das pluginPath neue Format, um das neue Format zu verwenden. Verwenden Sie die Schnellkorrektur, um automatisch zu aktualisieren.

{
  "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}

emptyUrlsToWatch

Schweregrad: Informationen
Schnellkorrektur verfügbar: Nein

Das urlsToWatch Array ist leer.

Ursache

Dev Proxy verwendet urlsToWatch , um zu bestimmen, welche Anforderungen abgefangen werden sollen. Ein leeres Array bedeutet, dass keine Anforderungen verarbeitet werden.

Beschluss

Hinzufügen von URL-Mustern zum Abfangen:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mockResponsePlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*",
    "https://graph.microsoft.com/v1.0/*"
  ],
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}

invalidConfigSection

Schweregrad: Warnung
Schnellkorrektur verfügbar: Nein

Ein Konfigurationsabschnitt ist vorhanden, aber kein Plug-In verweist darauf.

Ursache

Ein Objekt auf oberster Ebene ist vorhanden, das nicht als configSection Plug-In verwendet wird. Dies geschieht häufig nach dem Entfernen eines Plug-Ins, aber vergessen Sie, die Konfiguration zu entfernen.

Beschluss

Entfernen Sie entweder den verwaisten Abschnitt, oder fügen Sie ein Plug-In hinzu, das darauf verweist:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "genericRandomErrorPlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "genericRandomErrorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/genericrandomerrorplugin.schema.json",
    "rate": 50
  }
}

invalidConfigSectionSchema

Schweregrad: Warnung
Schnellkorrektur verfügbar: Ja

Die Eigenschaft des Konfigurationsabschnitts $schema stimmt nicht mit der installierten Dev Proxy-Version überein.

Ursache

Ihr Konfigurationsabschnitt verweist auf eine andere Schemaversion als den installierten Dev Proxy. Dies kann zu Überprüfungsproblemen oder fehlenden Features führen.

Beschluss

Aktualisieren Sie die Eigenschaft des Konfigurationsabschnitts $schema so, dass sie ihrer installierten Version entspricht. Verwenden Sie die Schnellkorrektur (Glühbirnensymbol oder Ctrl+. / Cmd+.Glühbirne), um automatisch zu aktualisieren.

{
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}

invalidConfigValue

Schweregrad: Fehler
Schnellkorrektur verfügbar: Nein

Ein Eigenschaftswert im Abschnitt "Config" stimmt nicht mit dem erwarteten Typ oder den im Schema definierten Einschränkungen überein.

Ursache

Der Wert ist möglicherweise der falsche Typ (z. B. Zeichenfolge statt Zahl), außerhalb zulässiger Bereiche oder nicht in der Liste der gültigen Optionen.

Beschluss

Überprüfen Sie die Schemadokumentation für das erwartete Wertformat, und aktualisieren Sie es entsprechend.

{
  "genericRandomErrorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/genericrandomerrorplugin.schema.json",
    "rate": 50
  }
}

invalidSchema

Schweregrad: Warnung
Schnellkorrektur verfügbar: Ja

Die $schema Eigenschaft stimmt nicht mit der installierten Dev Proxy-Version überein.

Ursache

Ihre Konfiguration verweist auf eine andere Schemaversion als der installierte Dev Proxy. Dies kann zu Überprüfungsproblemen oder fehlenden Features führen.

Beschluss

Aktualisieren Sie die $schema Eigenschaft so, dass sie ihrer installierten Version entspricht. Verwenden Sie die Schnellkorrektur (Glühbirnensymbol oder Ctrl+. / Cmd+.Glühbirne), um automatisch zu aktualisieren.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json"
}

missingLanguageModel

Schweregrad: Informationen
Schnellkorrektur verfügbar: Ja

Ein Plug-In kann ein lokales Sprachmodell verwenden, ist aber languageModel.enabled nicht true.

Ursache

Plug-Ins wie OpenAIMockResponsePlugin, OpenApiSpecGeneratorPluginund TypeSpecGeneratorPlugin können ein lokales Sprachmodell verwenden, um ihre Ausgabe zu verbessern. Durch das Verbinden von Dev Proxy mit einem lokalen Sprachmodell können Sie von der verbesserten Funktionalität profitieren, ohne dass zusätzliche Kosten anfallen.

Beschluss

Fügen Sie die Konfiguration hinzu, oder aktualisieren Sie sie languageModel . Verwenden Sie die Schnellkorrektur, um automatisch hinzuzufügen oder zu aktualisieren languageModel.enabled: true . Weitere Informationen finden Sie unter Verwenden des lokalen Sprachmodells mit Dev Proxy.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "openAIMockResponsePlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.openai.com/*"
  ],
  "languageModel": {
    "enabled": true
  },
  "openAIMockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/openaimockresponseplugin.schema.json"
  }
}

noEnabledPlugins

Schweregrad: Warnung
Schnellkorrektur verfügbar: Nein

Das plugins Array ist leer, oder alle Plug-Ins sind deaktiviert.

Ursache

Dev Proxy erfordert mindestens ein aktiviertes Plug-In zum Verarbeiten von Anforderungen.

Beschluss

Fügen Sie mindestens ein Plug-In mit enabled: true:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mockResponsePlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}

pluginConfigMissing

Schweregrad: Fehler (aktiviertes Plug-In) / Warnung (deaktiviertes Plug-In)
Schnellkorrektur verfügbar: Nein

Ein Plug-In verweist auf ein configSection nicht vorhandenes Plug-In.

Ursache

Das Plug-In verfügt über eine configSection Eigenschaft, aber das entsprechende Konfigurationsobjekt fehlt in der Datei.

Beschluss

Fügen Sie den fehlenden Konfigurationsabschnitt hinzu. Verwenden Sie den Codeausschnittnamen, der in der Diagnosenachricht angezeigt wird.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mockResponsePlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}

pluginConfigNotRequired

Schweregrad: Fehler (aktiviertes Plug-In) / Warnung (deaktiviertes Plug-In)
Schnellkorrektur verfügbar: Nein

Ein Plug-In verfügt über eine configSection Konfiguration, unterstützt aber keine Konfiguration.

Ursache

Nicht alle Plug-Ins unterstützen eine benutzerdefinierte Konfiguration. Das Hinzufügen eines configSection Plug-Ins, das keine Auswirkung hat.

Beschluss

Entfernen Sie die configSection Eigenschaft:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "RetryAfterPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ]
}

pluginConfigRequired

Schweregrad: Fehler (aktiviertes Plug-In) / Warnung (deaktiviertes Plug-In)
Schnellkorrektur verfügbar: Nein

Ein Plug-In erfordert jedoch configSection keine Angabe.

Ursache

Einige Plug-Ins erfordern die Funktion der Konfiguration. Die Plug-In-Definition fehlt die configSection Eigenschaft.

Beschluss

Fügen Sie eine configSection Eigenschaft hinzu, und erstellen Sie das Konfigurationsobjekt. Verwenden Sie den Codeausschnittnamen, der in der Diagnosenachricht angezeigt wird.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "genericRandomErrorPlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "genericRandomErrorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/genericrandomerrorplugin.schema.json",
    "errorsFile": "errors.json",
    "rate": 50
  }
}

reporterPosition

Schweregrad: Warnung
Schnellkorrektur verfügbar: Nein

Ein Reporter-Plug-In wird vor anderen Nichtberichter Plugins platziert.

Ursache

Reporter Plugins sammeln Ausgabe von anderen Plugins. Wenn Sie sie vor anderen Plug-Ins platzieren, werden sie nicht alle Daten erfassen.

Beschluss

Verschieben Sie Reporter Plugins an das Ende des plugins Arrays:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mockResponsePlugin"
    },
    {
      "name": "LatencyPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "latencyPlugin"
    },
    {
      "name": "PlainTextReporter",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  },
  "latencyPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/latencyplugin.schema.json",
    "minMs": 200,
    "maxMs": 10000
  }
}

summaryWithoutReporter

Schweregrad: Warnung
Schnellkorrektur verfügbar: Nein

Ein Zusammenfassungs-Plug-In ist ohne Reporter-Plug-In aktiviert.

Ursache

Plug-Ins like ExecutionSummaryPlugin and UrlDiscoveryPlugin generate data that requires a reporter plugin to output.

Beschluss

Fügen Sie nach dem Zusammenfassungs-Plug-In ein Reporter-Plug-In hinzu:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "ExecutionSummaryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    },
    {
      "name": "PlainTextReporter",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ]
}

unknownConfigProperty

Schweregrad: Warnung
Schnellkorrektur verfügbar: Ja

Ein Konfigurationsabschnitt enthält eine Eigenschaft, die nicht im Schema definiert ist.

Ursache

Die Eigenschaft ist möglicherweise falsch geschrieben, von einer anderen Dev Proxy-Version oder ist für dieses Plug-In nicht vorhanden.

Beschluss

Entfernen oder Umbenennen der unbekannten Eigenschaft. Verwenden Sie die Schnellkorrektur, um sie automatisch zu entfernen.

{
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}