Wersja skrzypkowa:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 dla .NET 4.6.1
Built: 2018年6月27日
1: Po pierwsze, używamy vs2017 do stworzenia nowego projektu biblioteki .NET 4.0 (To jest błędne, jak powiem poniżej, musisz zbudować projekt w wersji 4.6.1, inaczej kompilacja się nie powiedzie), jak pokazano poniżej:
Ponieważ moja wersja skrzypkowca jest stosunkowo wysoka, wymagania dla wersji .NET będą wyższe, a błąd będzie zgłaszany następująco podczas kompilacji i generowania wersji .NET 4.0:
1>------ Rozpoczęto całe przebudowy: Projekt: fiddler-plugin-demo, Konfiguracja: Debuguj dowolny procesor ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): ostrzeżenie MSB3274: Nie udało się rozwiązać głównego odniesienia "Fiddler", ponieważ był skierowany do ". NETFramework, Version=v4.6.1". Ta wersja ram jest wyższa niż obecny docelowy ramowy". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): ostrzeżenie MSB3268: Nie udało się rozwiązać głównego odwołania "Fiddler", Ponieważ ma pośrednią zależność od frameworka assembly "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", który nie jest parsowany w obecnym docelowym frameworku. “. NETFramework,Version=v4.0"。 Aby rozwiązać ten problem, usuń odniesienie do "Fiddler" lub przekieruj cel aplikacji na wersję frameworkową zawierającą "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): ostrzeżenie MSB3275: Nie udało się rozwiązać głównego odniesienia "Fiddler" z powodu problemu z asemblerem analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "posiada zależności pośrednie, a assembly jest skierowany do ". NETFramework, Version=v4.5" framework. Ta wersja ram jest wyższa niż obecny docelowy ramowy". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): ostrzeżenie MSB3275: Nie udało się rozwiązać głównego odniesienia "Fiddler" z powodu problemu z asemblerem newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"ma pośrednie zależności, a assembly jest skierowany przeciwko ". NETFramework, Version=v4.5" framework. Ta wersja ram jest wyższa niż obecny docelowy ramowy". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): ostrzeżenie MSB3275: Nie udało się rozwiązać głównego odniesienia "Fiddler" z powodu problemu z asemblerem GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "ma pośrednią zależność, z którą jest powiązany asempel". NETFramework, Version=v4.5" framework. Ta wersja ram jest wyższa niż obecny docelowy ramowy". 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): błąd CS0246: Nie udało się znaleźć nazwy typu lub przestrzeni nazw" "Skrzypek" (czy brakuje instrukcji lub odniesienia do asemblera?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): błąd CS0246: Nie udało się znaleźć nazwy typu lub przestrzeni nazw "Fiddler" (brakuje używając dyrektywy lub odniesienia do asembla?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): błąd CS0246: Nie udało się znaleźć nazwy typu lub przestrzeni nazw "IAutoTamper" ( Czy brakuje jakiegoś użycia dyrektywy lub referencji do asemblera?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): błąd CS0246: Nie udało się znaleźć nazwy typu lub przestrzeni nazw "Session" (brakuje używając dyrektywy lub odniesienia do asembla?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): błąd CS0246: Nie udało się znaleźć nazwy typu lub przestrzeni nazw "Session" (brakuje używając dyrektywy lub odniesienia do asembla?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): błąd CS0246: Nie udało się znaleźć nazwy typu lub przestrzeni nazw "Session" (brakuje używając dyrektywy lub odniesienia do asembla?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): błąd CS0246: Nie udało się znaleźć nazwy typu lub przestrzeni nazw "Session" (brakuje). używając dyrektywy lub odniesienia do asembla?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): błąd CS0246: Nie udało się znaleźć nazwy typu ani przestrzeni nazw "Session" (brakuje używając dyrektywy lub odniesienia do asembla?) ========== Regeneruj wszystkie: 0 się udaje, 1 nieudaje, a 0 ========== pomijane
Rozwiązaniem jest zmiana na .NET 4.6.1!
2: Dodaj fiddler.exe referencję w Eksploratorze rozwiązań, mój katalog instalacyjny Fiddler to: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, jak pokazano poniżej:
3: Ustaw minimalną wersję Fiddlera, jaką uruchamia wtyczka
Dodaj atrybut Fiddler.RequiredVersion do pliku AssemblyInfo.cs (i wszędzie indziej w kodzie) swojego projektu.
4: Utworzenie nowej karty kartki UI Fiddler
Musisz dodać odwołanie do asembla System.Windows.Forms
Zacznij od dodania do swojego projektu sterowania użytkownika o nazwie TestControl.cs (arbitrary), jak pokazano na poniższym obrazku:
Następnie umieść losową kontrolkę przycisku na wierzchu sterowania użytkownika i zapisz prosty kod zdarzenia kliknięcia:
5: Stwórz nową klasę rozszerzenia DemoExtention
Klasa DemoExtensionion dziedziczy interfejs IAutoTamper,Interfejs IAutoTamper dziedziczy interfejs IFiddlerExtensionWszystkie wtyczki implementujące interfejs IAutoTamper będą wywoływane przy każdym żądaniu lub odpowiedzi http/https, dzięki czemu mogą być używane do przejmowania lub modyfikacji danych odpowiedzi na żądania http/https.
Uwaga: Metoda tego interfejsu jest wywoływana w tle, nie-UI wątkiem; jeśli chcesz zaktualizować UI, możesz użyć metody Invoke lub BeginInvoke, aby zaktualizować UI. Wszystkie metody IAutoTamper mogą być wykonywane przed zdarzeniem OnLoad.
Kod jest następujący:
6: Fiddler ładuje wtyczkę
Po zaprogramowaniu i wygenerowaniu skopiuj oba pliki fiddler-plugin-demo.dll fiddler-plugin-demo.pdb w katalogu Debug do folderu scrip{filter}ts w naszym katalogu instalacyjnym fiddler.
Mój własny to: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts folder
Na koniec restartujemy i otwieramy Fiddlera, a na zakładce widzimy nasze sterowanie, jak pokazano poniżej:
7: Włącz automatyczne wdrażanie wtyczki do katalogu wtyczek Fiddler
Za każdym razem, gdy modyfikujemy wtyczkę, musimy ponownie skopiować dll do folderu scrip{filter}ts, możemy rozwiązać ten problem poprzez zdarzenie generowania VS, rekompilujemy generowanie, VS automatycznie kopiuje nasze dll do katalogu scrip{filter}ts i wypełnia następujące polecenie w kolejnej generacji instrukcji zdarzeń:
Jak pokazano poniżej:
Testowane pod kątem normalnego użytkowania.
Na koniec dołącz kod źródłowy:
Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszę Odpowiedź
|