Fiddler-versjonen:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 for .NET 4.6.1
Built: 2018年6月27日
1: Først bruker vi vs2017 for å lage et nytt .NET 4.0-bibliotekprosjekt (Dette er feil, som jeg vil si nedenfor, du må bygge et 4.6.1-prosjekt, ellers vil kompileringen feile), som vist nedenfor:
Siden Fiddler-versjonen min er relativt høy, vil kravene for .NET-versjonen være høyere, og feilen vil bli rapportert som følger ved kompilering og generering av .NET 4.0-versjonen:
1>------ All ombygging er startet: Prosjekt: fiddler-plugin-demo, Konfigurasjon: 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: Klarte ikke å løse hovedreferansen "Fiddler" fordi den var rettet mot ". NETFramework, versjon=v4.6.1". Denne rammeverksversjonen er høyere enn det nåværende målrammeverket». 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: Klarte ikke å løse hovedreferansen "Fiddler", Fordi den har en indirekte avhengighet av rammeverksassemblet "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", som ikke klarer å parses i det nåværende målrammeverket. “. NETFramework,Version=v4.0"。 For å løse dette problemet, fjern referansen til "Fiddler" eller omdiriger applikasjonens mål til rammeverksversjonen som inneholder "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: Klarte ikke å løse hovedreferansen "Fiddler" fordi den hadde et problem med assembly analytics, versjon=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "har indirekte avhengigheter, og samlingen er rettet mot ". NETFramework, Version=v4.5" rammeverk. Denne rammeverksversjonen er høyere enn det nåværende målrammeverket». 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: Klarte ikke å løse hovedreferansen "Fiddler" fordi den hadde et problem med assembly newtonsoft.json, versjon=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" har indirekte avhengigheter, og samlingen er rettet mot ". NETFramework, Version=v4.5" rammeverk. Denne rammeverksversjonen er høyere enn det nåværende målrammeverket». 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: Klarte ikke å løse hovedreferansen "Fiddler" fordi den hadde et problem med assembly GA. analytics.monitor, versjon=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "har en indirekte avhengighet som samlingen er relatert til". NETFramework, Version=v4.5" rammeverk. Denne rammeverksversjonen er høyere enn det nåværende målrammeverket». 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): feil CS0246: Fant ikke type- eller navneromsnavn" Fiddler" (mangler det en instruksjon eller assembly-referanse?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): feil CS0246: Fant ikke type- eller navneromsnavn "Fiddler" (mangler Bruke direktiv eller assembly reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs fiddler-plugin-demo\(10,34,10,45): feil CS0246: Fant ikke type- eller navneromsnavnet "IAutoTamper" ( Er det en manglende instruksjon eller assemblerreferanse?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): feil CS0246: Fant ikke type- eller navneromsnavn "Session" (mangler Bruke 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): feil CS0246: Fant ikke type- eller navneromsnavn "Session" (mangler Bruke 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): feil CS0246: Fant ikke type eller navnerom "Session" (mangler Bruke 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): feil CS0246: Fant ikke type- eller navneromsnavn "Session" (mangler.) Bruke direktiv eller assembly reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): feil CS0246: Fant ikke type- eller navneromsnavn "Session" (mangler Bruke direktiv eller assembly reference?) ========== Regenerer alle: 0 lykkes, 1 mislykkes, og 0 ========== hoppet over
Løsningen er å bytte til .NET 4.6.1!
2: Legg til fiddler.exe-referansen i Løsningsutforsker, min fiddler-installasjonsmappe er: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, som vist nedenfor:
3: Sett minimumsversjonen av Fiddler som pluginen kjører
Legg til Fiddler.RequiredVersion-attributtet i prosjektets AssemblyInfo.cs (og andre steder i koden din) fil.
4: Opprett en ny Fiddler-fane UI-kontroll
Du må legge til en referanse til System.Windows.Forms-assembleren
Start med å legge til en brukerkontroll i prosjektet ditt kalt TestControl.cs (vilkårlig), som vist på bildet nedenfor:
Plasser deretter en tilfeldig knappekontroll oppå brukerkontrollen og skriv en enkel linje med klikk-hendelseskode:
5: Opprett en ny DemoExtention-utvidelsesklasse
DemoExtensionion-klassen arver IAutoTamper-grensesnittet,IAutoTamper-grensesnittet arver IFiddlerExtension-grensesnittetAlle plugins som implementerer IAutoTamper-grensesnittet vil bli kalt på hver http/https-forespørsel eller svar, slik at de kan brukes til å kapre eller endre http/https-forespørselsresponsdata.
Merk: Metoden til dette grensesnittet kalles i bakgrunnen, ikke-UI-tråd, hvis du vil oppdatere UI-en, kan du bruke Invoke- eller BeginInvoke-metoden for å oppdatere UI-en. Alle metoder for IAutoTamper kan utføres før OnLoad-hendelsen.
Koden er som følger:
6: Fiddler laster inn pluginen
Etter at vi har programmert og generert, kopierer vi de to filene fiddler-plugin-demo.dll og fiddler-plugin-demo.pdb under Debug-mappen til mappen scrip{filter}ts i fiddler-installasjonsmappen vår.
Min egen er: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts-mappe
Til slutt starter vi på nytt og åpner Fiddler, og vi kan se kontrollene våre på fanen, som vist nedenfor:
7: Gjør at pluginen automatisk distribueres til Fiddler-plugin-katalogen
Hver gang vi endrer pluginen, må vi kopiere dll-en til scrip{filter}ts-mappen igjen, vi kan løse dette problemet ved å bruke VS-genereringshendelsen, vi kompilerer genereringen på nytt, VS kopierer automatisk vår dll til scrip{filter}ts-katalogen, og fyller inn følgende kommando i kommandolinjen for senere generasjons hendelsen:
Som vist nedenfor:
Testet for normal bruk.
Til slutt, legg ved kildekoden:
Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snill Svare
|