Fiddlerversion:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 för .NET 4.6.1
Built: 2018年6月27日
1: Först använder vi vs2017 för att skapa ett nytt .NET 4.0-biblioteksprojekt (Detta är fel, som jag kommer att säga nedan, du måste bygga ett 4.6.1-projekt, annars kommer kompileringen att misslyckas), som visas nedan:
Eftersom min Fiddler-version är relativt hög kommer kraven för .NET-versionen att vara högre, och felet kommer att rapporteras enligt följande vid kompilering och generering av .NET 4.0-versionen:
1>------ All ombyggnad har påbörjats: Projekt: fiddler-plugin-demo, Konfiguration: Felsök vilken CPU som helst ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): varning MSB3274: Misslyckades med att lösa huvudreferensen "Fiddler" eftersom den var riktad mot ". NETFramework, Version=v4.6.1". Denna ramversion är högre än det nuvarande målramverket". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): varning MSB3268: Misslyckades med att lösa huvudreferensen "Fiddler", Eftersom den har ett indirekt beroende av ramverksassemblern "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", som inte kan parsas i det nuvarande målramverket. “. NETFramework,Version=v4.0"。 För att lösa detta problem, ta bort referensen till "Fiddler" eller omdirigera applikationens mål till ramverksversionen som innehåller "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): varning MSB3275: Misslyckades med att lösa huvudreferensen "Fiddler" eftersom den hade problem med assembler analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "har indirekta beroenden, och assembleren är riktad mot ". NETFramework, Version=v4.5" ramverk. Denna ramversion är högre än det nuvarande målramverket". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): varning MSB3275: Misslyckades med att lösa huvudreferensen "Fiddler" eftersom den hade problem med assembler newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" har indirekta beroenden, och assemblern riktas mot ". NETFramework, Version=v4.5" ramverk. Denna ramversion är högre än det nuvarande målramverket". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): varning MSB3275: Misslyckades med att lösa huvudreferensen "Fiddler" eftersom den hade problem med assembler GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "har ett indirekt beroende som assemblern är relaterad till". NETFramework, Version=v4.5" ramverk. Denna ramversion är högre än det nuvarande målramverket". 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): fel CS0246: Misslyckades med att hitta typ- eller namnrymdsnamn" Fiddler" (saknas en referens för att använda instruktioner eller samling?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): fel CS0246: Misslyckades med att hitta typ- eller namnrymdsnamn "Fiddler" (saknas använda 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): fel CS0246: Misslyckades med att hitta typ- eller namnrymdsnamn "IAutoTamper" ( Saknas en referens för att använda direktiv eller assemblerreferens?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): fel CS0246: Misslyckades med att hitta typ- eller namnrymdsnamn "Session" (saknas använda 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): fel CS0246: Misslyckades med att hitta typ- eller namnrymdsnamn "Session" (saknas) använda 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): fel CS0246: Misslyckades med att hitta typ- eller namnrymdsnamn "Session" (saknas använda 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): fel CS0246: Misslyckades med att hitta typ eller namnrymdsnamn "Session" (saknas.) använda direktiv eller assembly reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): fel CS0246: Misslyckades med att hitta typ eller namnrymdsnamn "Session" (saknas använda direktiv eller assembly reference?) ========== Regenerera alla: 0 lyckas, 1 misslyckas och 0 ========== hoppades över
Lösningen är att byta till .NET 4.6.1!
2: Lägg till fiddler.exe-referensen i Solution Explorer, min fiddler-installationskatalog är: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, som visas nedan:
3: Ställ in minsta versionen av Fiddler som pluginet kör
Lägg till Fiddler.RequiredVersion-attributet i ditt projekts AssemblyInfo.cs (och var som helst annars i din kod).
4: Skapa en ny flik för Fiddler-flikens UI-kontroll
Du behöver lägga till en referens till System.Windows.Forms-assembleren
Börja med att lägga till en användarkontroll till ditt projekt som heter TestControl.cs (godtyckligt), som visas på bilden nedan:
Placera sedan en slumpmässig knappkontroll ovanpå användarkontrollen och skriv en enkel rad klickhändelsekod:
5: Skapa en ny DemoExtension-klass
DemoExtensionion-klassen ärver IAutoTamper-gränssnittet,IAutoTamper-gränssnittet ärver IFiddlerExtension-gränssnittetAlla plugins som implementerar IAutoTamper-gränssnittet kommer att anropas vid varje http/https-förfrågan eller svar, så de kan användas för att kapa eller ändra responsdata för http/https-förfrågningar.
Obs: Metoden för detta gränssnitt anropas i bakgrunden, icke-UI-tråden, om du vill uppdatera UI:t kan du använda Invoke- eller BeginInvoke-metoden för att uppdatera UI:t. Alla metoder för IAutoTamper kan köras före OnLoad-händelsen.
Koden är följande:
6: Fiddler laddar pluginet
Efter att vi har programmerat och genererat, kopierar vi de två filerna fiddler-plugin-demo.dll och fiddler-plugin-demo.pdb under Debug-katalogen till mappen scrip{filter}ts i vår fiddler-installationskatalog.
Min egen är: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts-mappen
Slutligen startar vi om och öppnar Fiddler, och vi kan se våra kontroller på fliken, som visas nedan:
7: Aktivera att pluginet automatiskt distribueras till Fiddler-pluginkatalogen
Varje gång vi ändrar pluginet behöver vi kopiera dll:n till mappen scrip{filter}ts igen, vi kan lösa detta problem genom VS-genereringseventet, vi kompilerar om genereringen, VS kopierar automatiskt vår dll till scrip{filter}ts-katalogen och fyller i följande kommando i kommandoraden för senare generationens händelse:
Som visas nedan:
Testade för normal användning.
Slutligen, bifoga källkoden:
Turister, om ni vill se det dolda innehållet i detta inlägg, snälla Svar
|