Versione del violinista:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 per .NET 4.6.1
Built: 2018年6月27日
1: Innanzitutto, usiamo vs2017 per creare un nuovo progetto di libreria .NET 4.0 (Questo è sbagliato, come dirò qui sotto, devi costruire un progetto 4.6.1, altrimenti la compilazione fallirà), come mostrato di seguito:
Poiché la mia versione Fiddler è relativamente alta, i requisiti per la versione .NET saranno più alti, e l'errore verrà segnalato come segue durante la compilazione e la generazione della versione .NET 4.0:
1>------ Tutta la ricostruzione è stata iniziata: Progetto: fiddler-plugin-demo, Configurazione: Debug Qualsiasi CPU ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): avviso MSB3274: Non è stato risolto il riferimento principale "Fiddler" perché era mirato a ". NETFramework, Version=v4.6.1". Questa versione del framework è superiore all'attuale target framework". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): avviso MSB3268: Fallita risoluzione del riferimento principale "Fiddler", Poiché ha una dipendenza indiretta dall'assembly del framework "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", che non viene analizzato nell'attuale framework target. “. NETFramework,Version=v4.0"。 Per risolvere questo problema, rimuovere il riferimento a "Fiddler" o reindirizzare il target dell'applicazione alla versione del framework che contiene "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): avviso MSB3275: Non è stato risolto il riferimento principale "Fiddler" perché aveva un problema di assembly analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "ha dipendenze indirette, e l'assembly è diretto a ". NETFramework, Version=v4.5" framework. Questa versione del framework è superiore all'attuale target framework". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): avviso MSB3275: Non è stato risolto il riferimento principale "Fiddler" perché aveva un problema di assembly newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"ha dipendenze indirette, e l'assembly è diretto contro ". NETFramework, Version=v4.5" framework. Questa versione del framework è superiore all'attuale target framework". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): avviso MSB3275: Non è stato risolto il riferimento principale "Fiddler" perché aveva un problema di assembly GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "ha una dipendenza indiretta a cui l'assembly è correlato". NETFramework, Version=v4.5" framework. Questa versione del framework è superiore all'attuale target framework". 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): errore CS0246: Impossibile trovare il nome del tipo o dello spazio di nomi" Fiddler" (manca un riferimento all'uso delle istruzioni o dell'assemblaggio?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): errore CS0246: Fallita la ricerca del nome del tipo o dello spazio nominale "Fiddler" (mancante usando direttiva o riferimento assemblea?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): errore CS0246: Non è stato trovato il nome del tipo o dello spazio di nomi "IAutoTamper" ( Manca una direttiva di uso o un riferimento di assemblaggio?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): errore CS0246: Fallita la ricerca del nome del tipo o dello spazio nominale "Session" (mancante usando direttiva o riferimento assemblea?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): errore CS0246: Fallita la ricerca del nome del tipo o dello spazio di nomi "Session" (mancante usando direttiva o riferimento assemblea?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): errore CS0246: Fallita la ricerca del nome del tipo o dello spazio nominale "Session" (mancante usando direttiva o riferimento assemblea?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): errore CS0246: Fallita la ricerca del nome del tipo o dello spazio di nomi "Session" (mancante). usando direttiva o riferimento assemblea?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): errore CS0246: Fallita la ricerca del nome del tipo o dello spazio di nomi "Session" (mancante usando direttiva o riferimento assemblea?) ========== Rigenera tutti: 0 riesci, 1 fallisce e 0 ========== saltati
La soluzione è passare a .NET 4.6.1!
2: Aggiungi il riferimento fiddler.exe in Esplora soluzioni, la mia directory di installazione Fiddler è: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, come mostrato di seguito:
3: Imposta la versione minima di Fiddler che il plugin sta eseguendo
Aggiungi l'attributo Fiddler.RequiredVersion al file AssemblyInfo.cs del tuo progetto (e ovunque altrove nel tuo codice).
4: Creare un nuovo controllo dell'interfaccia della scheda Fiddler
Devi aggiungere un riferimento all'assembly System.Windows.Forms
Inizia aggiungendo un controllo utente al tuo progetto chiamato TestControl.cs (arbitrario), come mostrato nell'immagine qui sotto:
Poi posiziona un controllo casuale con un pulsante sopra quello dell'utente e scrivi una semplice riga di codice evento click:
5: Creare una nuova classe di estensione DemoExtention
La classe DemoExtention eredita l'interfaccia IAutoTamper,L'interfaccia IAutoTamper eredita l'interfaccia IFiddlerExtensionTutti i plugin che implementano l'interfaccia IAutoTamper saranno chiamati a ogni richiesta o risposta http/https, così da poter essere utilizzati per dirottare o modificare i dati di risposta alla richiesta http/https.
Nota: Il metodo di questa interfaccia viene chiamato in background, thread non UI; se vuoi aggiornare l'UI, puoi usare il metodo Invoke o BeginInvoke per aggiornare l'UI. Tutti i metodi di IAutoTamper possono essere eseguiti prima dell'evento OnLoad.
Il codice è il seguente:
6: Fiddler carica il plugin
Dopo aver programmato e generato, copia i due file fiddler-plugin-demo.dll e fiddler-plugin-demo.pdb sotto la directory Debug nella cartella scrip{filter}ts della nostra directory di installazione Fiddler.
Il mio è: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts folder
Infine, riavviiamo e apriamo Fiddler, e possiamo vedere i nostri controlli sulla scheda, come mostrato qui sotto:
7: Abilita il deployment automatico del plugin nella directory del plugin Fiddler
Ogni volta che modifichiamo il plugin, dobbiamo copiare di nuovo il dll nella cartella scrip{filter}ts, possiamo risolvere questo problema tramite l'evento di generazione di VS, ricompiliamo la generazione, VS copierà automaticamente il nostro dll nella directory scrip{filter}ts e inserirà il seguente comando nella riga di comando degli eventi di generazione successiva:
Come mostrato di seguito:
Testato per uso normale.
Infine, allega il codice sorgente:
Turisti, se volete vedere il contenuto nascosto di questo post, vi prego Risposta
|