Fiddler-version:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 for .NET 4.6.1
Built: 2018年6月27日
1: Først bruger vi vs2017 til at oprette et nyt .NET 4.0-biblioteksprojekt (Dette er forkert, som jeg vil sige nedenfor, du skal bygge et 4.6.1-projekt, ellers vil kompileringen fejle), som vist nedenfor:
Da min fiddler-version er relativt høj, vil kravene til .NET-versionen være højere, og fejlen vil blive rapporteret som følger, når man kompilerer og genererer .NET 4.0-versionen:
1>------ Al genopbygning er startet: Projekt: fiddler-plugin-demo, Konfiguration: Debug enhver CPU ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advarsel MSB3274: Kunne ikke løse hovedreferencen "Fiddler", fordi den var målrettet mod ". NETFramework, Version=v4.6.1". Denne rammeversion er højere end den nuværende målramme". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advarsel MSB3268: Fejlede i at løse hovedreferencen "Fiddler", Fordi den har en indirekte afhængighed af framework-assemblyet "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", som ikke kan parses i det nuværende målrammeværk. “. NETFramework,Version=v4.0"。 For at løse dette problem skal referencen til "Fiddler" fjernes eller applikationens mål omdirigeres til framework-versionen, der indeholder "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a". 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advarsel MSB3275: Fejlede i at løse hovedreferencen "Fiddler" fordi den havde et problem med assembly analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "har indirekte afhængigheder, og samlingen er rettet mod ". NETFramework, Version=v4.5" framework. Denne rammeversion er højere end den nuværende målramme". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advarsel MSB3275: Fejlede i at løse hovedreferencen "Fiddler" fordi den havde et problem med assembly newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" har indirekte afhængigheder, og samlingen er rettet mod ". NETFramework, Version=v4.5" framework. Denne rammeversion er højere end den nuværende målramme". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advarsel MSB3275: Fejlede i at løse hovedreferencen "Fiddler" fordi den havde et problem med assembly GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "har en indirekte afhængighed, som assemblyen er relateret til". NETFramework, Version=v4.5" framework. Denne rammeversion er højere end den nuværende målramme". 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): fejl CS0246: Kunne ikke finde type- eller navnerumsnavn" Fiddler" (mangler der en brugsinstruktion eller samlingsreference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): fejl CS0246: Kunne ikke finde type- eller navnerumsnavn "Fiddler" (mangler Bruger du direktiv eller assembly reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): fejl CS0246: Kunne ikke finde type- eller navnerumsnavn "IAutoTamper" ( Mangler der en reference til brug af direktiv eller samling?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): fejl CS0246: Kunne ikke finde type- eller navnerumsnavn "Session" (mangler Bruger du direktiv eller assembly reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): fejl CS0246: Kunne ikke finde type- eller navnerumsnavn "Session" (mangler Bruger du direktiv eller assembly reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): fejl CS0246: Kunne ikke finde type- eller navnerumsnavn "Session" (mangler Bruger du direktiv eller assembly reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): fejl CS0246: Kunne ikke finde type- eller navnerumsnavn "Session" (mangler.) Bruger du direktiv eller assembly reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): fejl CS0246: Kunne ikke finde type- eller navnerumsnavn "Session" (mangler Bruger du direktiv eller assembly reference?) ========== Regenerer alle: 0 lykkes, 1 fejler, og 0 ========== springer over
Løsningen er at skifte til .NET 4.6.1!
2: Tilføj fiddler.exe-referencen i Solution Explorer, min fiddler-installationsmappe er: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, som vist nedenfor:
3: Sæt den mindste version af Fiddler, som plugin'et kører
Tilføj Fiddler.RequiredVersion-attributten til dit projekts AssemblyInfo.cs (og alle andre steder i din kode) fil.
4: Opret en ny Fiddler-fane UI-kontrol
Du skal tilføje en reference til System.Windows.Forms-assembleren
Start med at tilføje en brugerkontrol til dit projekt kaldet TestControl.cs (vilkårligt), som vist på billedet nedenfor:
Placer derefter en tilfældig knapkontrol oven på brugerkontrollen og skriver en simpel linje med klik-eventkode:
5: Opret en ny DemoExtension-klasse
DemoExtensionion-klassen arver IAutoTamper-grænsefladen,IAutoTamper-grænsefladen arver IFiddlerExtension-grænsefladenAlle plugins, der implementerer IAutoTamper-grænsefladen, vil blive kaldt på hver http/https-anmodning eller -svar, så de kan bruges til at kapre eller ændre http/https-anmodningsresponsdata.
Bemærk: Metoden til dette interface kaldes i baggrunden, ikke-UI-tråden, hvis du vil opdatere UI'en, kan du bruge Invoke- eller BeginInvoke-metoden til at opdatere UI'en. Alle metoder i IAutoTamper kan udføres før OnLoad-begivenheden.
Koden er som følger:
6: Fiddler indlæser plugin'et
Efter vi har programmeret og genereret, kopierer vi de to filer fiddler-plugin-demo.dll og fiddler-plugin-demo.pdb under Debug-mappen til mappen scrip{filter}ts i vores fiddler-installationsmappe.
Min egen er: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts mappe
Endelig genstarter vi og åbner Fiddler, og vi kan se vores kontroller på fanen, som vist nedenfor:
7: Aktivér pluginet, så det automatisk kan implementeres i fiddler-plugin-mappen
Hver gang vi ændrer pluginet, skal vi kopiere dll'en til scrip{filter}ts-mappen igen, vi kan løse dette problem ved at bruge VS generation event, vi genkompilerer genereringen, VS kopierer automatisk vores dll til scrip{filter}ts-mappen og udfylder følgende kommando i kommandolinjen for senere generations event:
Som vist nedenfor:
Testet til normal brug.
Endelig vedhæft kildekoden:
Turister, hvis I vil se det skjulte indhold i dette indlæg, så vær venlig Svar
|