Fiddler-Version:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 für .NET 4.6.1
Built: 2018年6月27日
1: Zuerst verwenden wir vs2017, um ein neues .NET 4.0-Bibliotheksprojekt zu erstellen (Das ist falsch, wie ich unten sage, musst du ein 4.6.1-Projekt bauen, sonst wird die Kompilierung fehlschlagen), wie unten gezeigt:
Da meine Fiddler-Version relativ hoch ist, werden die Anforderungen für die .NET-Version höher sein, und der Fehler wird beim Kompilieren und Erstellen der .NET 4.0-Version wie folgt gemeldet:
1>------ Der gesamte Neuaufbau wurde gestartet: Projekt: fiddler-plugin-demo, Konfiguration: Debugging Any CPU ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): Warnung MSB3274: Die Hauptreferenz "Fiddler" konnte nicht gelöst werden, weil sie auf ". NETFramework, Version=v4.6.1". Diese Rahmenversion ist höher als das aktuelle Ziel-Rahmenwerk". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): Warnung MSB3268: Die Hauptreferenz "Fiddler" wurde nicht gelöst, Da es eine indirekte Abhängigkeit vom Framework-Assembler "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" aufweist, der im aktuellen Zielframework nicht parsed werden kann. “. NETFramework,Version=v4.0"。 Um dieses Problem zu lösen, entfernen Sie den Verweis auf "Fiddler" oder leiten Sie das Ziel der Anwendung auf die Framework-Version um, die "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" enthält. 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): Warnung MSB3275: Die Hauptreferenz "Fiddler" konnte nicht behoben werden, weil es ein Assemblerproblem gab analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "hat indirekte Abhängigkeiten, und die Assembly richtet sich auf ". NETFramework, Version=v4.5" framework. Diese Rahmenversion ist höher als das aktuelle Ziel-Rahmenwerk". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): Warnung MSB3275: Die Hauptreferenz "Fiddler" konnte nicht behoben werden, weil es ein Assemblerproblem gab newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"hat indirekte Abhängigkeiten, und die Assembly richtet sich gegen ". NETFramework, Version=v4.5" framework. Diese Rahmenversion ist höher als das aktuelle Ziel-Rahmenwerk". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): Warnung MSB3275: Die Hauptreferenz "Fiddler" konnte nicht behoben werden, weil es ein Assemblerproblem gab GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "hat eine indirekte Abhängigkeit, mit der die Assembly zusammenhängt". NETFramework, Version=v4.5" framework. Diese Rahmenversion ist höher als das aktuelle Ziel-Rahmenwerk". NETFramework,Version=v4.0"。 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\Properties\AssemblyInfo.cs(37,12,37,19): Fehler CS0246: Typ- oder Namensraumname nicht gefunden" Fiddler" (fehlt eine Referenz auf eine Anleitung oder eine Montage?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): Fehler CS0246: Fehlgesehen, Typ- oder Namensraumname "Fiddler" (fehlt Verwendung von Direktive oder Assembly Reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): Fehler CS0246: Typ- oder Namensraumname "IAutoTamper" nicht gefunden ( Fehlt eine Referenz auf Verwendung von Anleitung oder Assembler?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): Fehler CS0246: Typ- oder Namensraumname "Session" wurde nicht gefunden (fehlt Verwendung von Direktive oder Assembly Reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): Fehler CS0246: Typ oder Namensraumname "Session" (fehlt Verwendung von Direktive oder Assembly Reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): Fehler CS0246: Typ- oder Namensraumname "Session" (fehlt Verwendung von Direktive oder Assembly Reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): Fehler CS0246: Typ- oder Namensraumname "Session" (fehlt) nicht gefunden. Verwendung von Direktive oder Assembly Reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): Fehler CS0246: Typ- oder Namensraumname "Session" (fehlt Verwendung von Direktive oder Assembly Reference?) ========== Regeneriere alle: 0 gelingt, 1 scheitert und 0 ========== übersprungen
Die Lösung ist, auf .NET 4.6.1 umzusteigen!
2: Füge die fiddler.exe-Referenz im Solution Explorer hinzu, mein Fiddler-Installationsverzeichnis lautet: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, wie unten gezeigt:
3: Setze die minimale Version von Fiddler, die das Plugin läuft
Füge das Fiddler.RequiredVersion-Attribut zur AssemblyInfo.cs-Datei deines Projekts (und überall sonst in deinem Code) hinzu.
4: Erstellen Sie eine neue Fiddler-Tab-UI-Steuerung
Du musst eine Referenz zur System.Windows.Forms-Assembler hinzufügen
Beginnen Sie damit, Ihrem Projekt eine Benutzersteuerung namens TestControl.cs hinzuzufügen (beliebig), wie im untenstehenden Bild gezeigt:
Dann legt man eine zufällige Button-Steuerung auf die Benutzersteuerung und schreibt eine einfache Zeile mit Klick-Ereigniscode:
5: Eine neue DemoExtension-Klasse erstellen
Die DemoExtensionion-Klasse erbt die IAutoTamper-Schnittstelle,Die IAutoTamper-Schnittstelle erbt die IFiddlerExtension-SchnittstelleAlle Plugins, die die IAutoTamper-Schnittstelle implementieren, werden bei jeder HTTP/https-Anfrage oder -Antwort aufgerufen, sodass sie verwendet werden können, um HTTP/https-Anfrage-Antwortdaten zu kapern oder zu verändern.
Hinweis: Die Methode dieser Schnittstelle wird im Hintergrund aufgerufen, ein Nicht-UI-Thread. Wenn Sie die Benutzeroberfläche aktualisieren möchten, können Sie die Methode Invoke oder BeginInvoke verwenden, um die Benutzeroberfläche zu aktualisieren. Alle Methoden von IAutoTamper können vor dem OnLoad-Event ausgeführt werden.
Der Code lautet wie folgt:
6: Fiddler lädt das Plugin
Nachdem wir programmiert und generiert haben, kopieren wir die beiden Dateien fiddler-plugin-demo.dll und fiddler-plugin-demo.pdb unter dem Debug-Verzeichnis in den Scrip{filter}ts-Ordner unseres Fiddler-Installationsverzeichnisses.
Meine eigene ist: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts Ordner
Schließlich starten wir neu und öffnen Fiddler, und wir können unsere Steuerungen auf dem Tab sehen, wie unten gezeigt:
7: Aktivieren Sie die automatische Bereitstellung des Plugins im Fiddler-Plugin-Verzeichnis
Jedes Mal, wenn wir das Plugin ändern, müssen wir die dll erneut in den Scrip{filter}ts-Ordner kopieren, wir können dieses Problem durch das VS-Generierungsereignis lösen, wir kompilieren die Generierung neu, VS kopiert unsere dll automatisch in das scrip{filter}ts-Verzeichnis und füllt den folgenden Befehl in der späteren Event-Kommandozeile aus:
Wie unten gezeigt:
Getestet für den normalen Gebrauch.
Zum Schluss fügen Sie den Quellcode an:
Touristen, wenn ihr den versteckten Inhalt dieses Beitrags sehen wollt, bitte Antwort
|