Fiddler-versie:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 voor .NET 4.6.1
Built: 2018年6月27日
1: Ten eerste gebruiken we vs2017 om een nieuw .NET 4.0 bibliotheekproject te maken (Dit is fout, zoals ik hieronder zal zeggen, je moet een 4.6.1-project bouwen, anders zal de compilatie mislukken), zoals hieronder weergegeven:
Omdat mijn fiddler-versie relatief hoog is, zullen de eisen voor de .NET-versie hoger zijn, en de fout wordt als volgt gerapporteerd bij het compileren en genereren van de .NET 4.0-versie:
1>------ Alle herbouw is gestart: Project: fiddler-plugin-demo, Configuratie: Debug elke CPU ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): waarschuwing MSB3274: Hoofdreferentie "Fiddler" is niet opgelost omdat deze gericht was op ". NETFramework, Versie=v4.6.1". Deze raamwerkversie is hoger dan het huidige doel-raamwerk". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): waarschuwing MSB3268: Hoofdreferentie "Fiddler" is niet opgelost, Omdat het een indirecte afhankelijkheid heeft van de framework-assembly "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", die niet kan worden geparsed in het huidige doelframework. “. NETFramework,Version=v4.0"。 Om dit probleem op te lossen, verwijder je de verwijzing naar "Fiddler" of stuur je het doelwit van de applicatie om naar de frameworkversie die "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" bevat. 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): waarschuwing MSB3275: Hoofdreferentie "Fiddler" is niet opgelost vanwege een probleem met assembly analytics, versie=1.0.20182.27266, culture=neutraal, PublicKeyToken=2b2cea67609c9510 "heeft indirecte afhankelijkheden, en de assembly is gericht op ". NETFramework, Version=v4.5" framework. Deze raamwerkversie is hoger dan het huidige doel-raamwerk". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): waarschuwing MSB3275: Hoofdreferentie "Fiddler" is niet opgelost vanwege een probleem met assembly newtonsoft.json, versie=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" heeft indirecte afhankelijkheden, en de assembly is gericht tegen ". NETFramework, Version=v4.5" framework. Deze raamwerkversie is hoger dan het huidige doel-raamwerk". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): waarschuwing MSB3275: Hoofdreferentie "Fiddler" is niet opgelost vanwege een probleem met assembly GA. analytics.monitor, versie=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "heeft een indirecte afhankelijkheid waaraan de assembly gerelateerd is". NETFramework, Version=v4.5" framework. Deze raamwerkversie is hoger dan het huidige doel-raamwerk". 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): fout CS0246: Niet gevonden type of naamruimtenaam gevonden" Fiddler" (ontbreekt er een referentie met een instructie of assembly?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): fout CS0246: Niet gevonden type of naamruimte naam "Fiddler" (ontbreekt Richtlijn of assembly reference gebruiken?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): fout CS0246: Niet gevonden type of naamruimtenaam "IAutoTamper" ( Is er een ontbrekende richtlijn of assemblagereferentie?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): fout CS0246: Niet gevonden type of naamruimtenaam "Session" (ontbrekend Richtlijn of assembly reference gebruiken?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): fout CS0246: Niet gevonden type of naamruimte naam "Session" (ontbrekend Richtlijn of assembly reference gebruiken?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): fout CS0246: Niet gevonden door type- of naamruimtenaam "Session" (ontbreekt Richtlijn of assembly reference gebruiken?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): fout CS0246: Niet gevonden type of naamruimtenaam "Session" (ontbreekt.) Richtlijn of assembly reference gebruiken?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): fout CS0246: Niet kunnen vinden type of naamruimtenaam "Session" (ontbrekend Richtlijn of assembly reference gebruiken?) ========== Regenereer allemaal: 0 slaagt, 1 faalt en 0 ========== overgeslagen
De oplossing is om over te stappen op .NET 4.6.1!
2: Voeg de fiddler.exe referentie toe in Solution Explorer, mijn fiddler-installatiemap is: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, zoals hieronder getoond:
3: Stel de minimale versie van Fiddler in die de plugin draait
Voeg het Fiddler.RequiredVersion-attribuut toe aan het AssemblyInfo.cs-bestand van je project (en overal anders in je code).
4: Maak een nieuw Fiddler-tabblad UI-controle aan
Je moet een referentie toevoegen aan de System.Windows.Forms-assembly
Begin met het toevoegen van een gebruikerscontrole aan je project genaamd TestControl.cs (willekeurig), zoals te zien is op de onderstaande afbeelding:
Plaats vervolgens een willekeurige knopbediening bovenop de gebruikersbesturing en schrijf een eenvoudige regel klikgebeurteniscode:
5: Maak een nieuwe DemoExtension-extensieklasse aan
De DemoExtensionion-klasse erft de IAutoTamper-interface,De IAutoTamper-interface erft de IFiddlerExtension-interfaceAlle plugins die de IAutoTamper-interface implementeren, worden bij elk http/https-verzoek of -antwoord aangeroepen, zodat ze kunnen worden gebruikt om http/https-verzoekresponsgegevens te kapen of te wijzigen.
Opmerking: De methode van deze interface wordt op de achtergrond aangeroepen, niet-UI-thread; als je de UI wilt updaten, kun je de Invoke- of BeginInvoke-methode gebruiken om de UI bij te werken. Alle methoden van IAutoTamper kunnen worden uitgevoerd vóór het OnLoad-evenement.
De code is als volgt:
6: Fiddler laadt de plugin
Nadat we hebben geprogrammeerd en gegenereerd, kopieer we de twee bestanden fiddler-plugin-demo.dll en fiddler-plugin-demo.pdb onder de Debug-map naar de scrip{filter}ts-map van onze fiddler-installatiemap.
Mijn eigen map is: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts map
Ten slotte herstarten we en openen we Fiddler, en we kunnen onze besturing op het tabblad zien, zoals hieronder getoond:
7: Schakel de plugin automatisch in om in de Fiddler-pluginmap te worden ingezet
Elke keer dat we de plugin wijzigen, moeten we de dll opnieuw kopiëren naar de scrip{filter}ts-map, we kunnen dit probleem oplossen door het VS-generatie-event, we compileren de generatie opnieuw, VS kopieert onze dll automatisch naar de scrip{filter}ts-map en vult het volgende commando in de opdrachtregel van het latere generatie-event:
Zoals hieronder getoond:
Getest voor normaal gebruik.
Voeg tenslotte de broncode bij:
Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
|