Версія скрипаля:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 для .NET 4.6.1
Built: 2018年6月27日
1: По-перше, ми використовуємо vs2017 для створення нового проєкту бібліотеки .NET 4.0 (Це неправильно, як я скажу нижче, потрібно створити проєкт 4.6.1, інакше компіляція провалиться), як показано нижче:
Оскільки моя версія для скрипки досить висока, вимоги до версії .NET будуть вищими, і помилка буде зафіксована наступним чином при компіляції та генерації версії .NET 4.0:
1>------ Вся перебудова вже розпочата: Проєкт: fiddler-plugin-demo, Конфігурація: Debug Будь-який процесор ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): попередження MSB3274: Не вдалося розв'язати основне посилання "Fiddler", оскільки воно було націлене на ". NETFramework, Version=v4.6.1". Ця версія фреймворку вища за поточний цільовий фреймворк». NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): попередження MSB3268: Не вдалося вирішити основне посилання "Fiddler", Оскільки він має непряму залежність від асемблеру фреймворку "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", який не піддається аналізу в поточному цільовому фреймворку. “. NETFramework,Version=v4.0"。 Щоб вирішити цю проблему, прибрати посилання на «Fiddler» або перенаправити цільову версію додатку на фреймворкову версію, яка містить «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): попередження MSB3275: Не вдалося розв'язати основне посилання "Fiddler" через проблему з асемблером analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 «має непрямі залежності, а асемблер спрямований на ». NETFramework, Version=v4.5" 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): попередження MSB3275: Не вдалося розв'язати основне посилання "Fiddler" через проблему з асемблером newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"має непрямі залежності, а асемблер спрямований проти ". NETFramework, Version=v4.5" 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): попередження MSB3275: Не вдалося розв'язати основне посилання "Fiddler" через проблему з асемблером GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 «має непряму залежність, з якою пов'язана асемблер». NETFramework, Version=v4.5" 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): помилка CS0246: Не вдалося знайти назву типу або простору назв" Fiddler» (чи відсутня інструкція використання або посилання на асемблер?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): помилка CS0246: Не вдалося знайти назву типу або простору імен "Fiddler" (відсутня Використання директиви чи посилання на асамблею?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): помилка CS0246: Не вдалося знайти назву типу або простору імен "IAutoTamper" ( Чи відсутня посилання на використання директиви або асемблер?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): помилка CS0246: Не вдалося знайти назву типу або простору назв "Session" (відсутня Використання директиви чи посилання на асамблею?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): помилка CS0246: Не вдалося знайти назву типу або простору імен "Session" (відсутня Використання директиви чи посилання на асамблею?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): помилка CS0246: Не вдалося знайти назву типу або простору назв "Session" (відсутня Використання директиви чи посилання на асамблею?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): помилка CS0246: Не вдалося знайти назву типу або простору назв "Session" (відсутня). Використання директиви чи посилання на асамблею?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): помилка CS0246: Не вдалося знайти назву типу або простору імен "Session" (відсутня Використання директиви чи посилання на асамблею?) ========== Відновити все: 0 успішно, 1 провалено, і 0 ========== пропущено
Рішення — перейти на .NET 4.6.1!
2: Додайте посилання fiddler.exe у Solution Explorer, моя каталог встановлення скрипача: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, як показано нижче:
3: Встановіть мінімальну версію Fiddler, яку запускає плагін
Додайте атрибут Fiddler.RequiredVersion до файлу AssemblyInfo.cs вашого проєкту (і будь-де в коді).
4: Створити новий контроль інтерфейсу вкладки Fiddler
Потрібно додати посилання до асемблеру System.Windows.Forms
Почніть з додавання користувацького контролю до вашого проєкту під назвою TestControl.cs (довільний), як показано на зображенні нижче:
Потім розмістіть випадковий контроль кнопки поверх user control і напишіть простий код події рядка кліків:
5: Створити новий клас розширення DemoExtention
Клас DemoExtention успадковує інтерфейс IAutoTamper,Інтерфейс IAutoTamper успадковує інтерфейс IFiddlerExtensionУсі плагіни, які реалізують інтерфейс IAutoTamper, будуть викликатися при кожному http/https запиті або відповіді, щоб їх можна було використовувати для перехоплення або зміни даних відповіді http/https запитів.
Примітка: Метод цього інтерфейсу викликається у фоновому потоці, не пов'язаному з UI, якщо ви хочете оновити інтерфейс, можете скористатися методом Invoke або BeginInvoke для оновлення інтерфейсу. Усі методи IAutoTamper можуть бути виконані до події OnLoad.
Код виглядає так:
6: Fiddler завантажує плагін
Після програмування та генерації скопіюємо два файли fiddler-plugin-demo.dll та fiddler-plugin-demo.pdb у каталогу Debug у папку scrip{filter}ts нашої інсталяційної папки Fiddler.
Моя власна: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts folder
Нарешті, ми перезапускаємо і відкриваємо Fiddler, і на вкладці бачимо наші елементи керування, як показано нижче:
7: Увімкніть автоматичне розгортання плагіна у каталог плагіна Fiddler
Кожного разу, коли ми змінюємо плагін, потрібно знову скопіювати dll у папку scrip{filter}ts, ми можемо вирішити цю проблему за допомогою події генерації VS, ми перекомпілюємо генерацію, VS автоматично скопіює наш dll у каталог scrip{filter}ts і заповнить наступну команду в командному рядку події наступного покоління:
Як показано нижче:
Перевірено для нормального використання.
Нарешті, додайте вихідний код:
Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласка Відповідь
|