바이올린 버전:
Progress Telerik Fiddler 웹 디버거 v5.0.20182.28034 for .NET 4.6.1
Built: 2018年6月27日
1: 먼저, vs2017을 사용해 새로운 .NET 4.0 라이브러리 프로젝트를 만듭니다 (이것은 잘못된 정보입니다. 아래에서 말씀드리겠지만, 4.6.1 프로젝트를 만들어야 컴파일이 실패합니다), 아래와 같이
제 바이올린 버전이 비교적 높기 때문에 .NET 버전의 요구사항이 더 높아지고, .NET 4.0 버전을 컴파일하고 생성할 때 오류는 다음과 같이 보고됩니다:
1>------ 모든 재구축이 시작되었습니다: 프로젝트: fiddler-plugin-demo, 구성: 디버그 Any CPU ------ 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, 버전=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "간접 의존성을 가지며, 어셈블리는 "에 지향됩니다. NETFramework, Version=v4.5" 프레임워크. 이 프레임워크 버전은 현재 목표 프레임워크보다 높습니다." 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" 프레임워크. 이 프레임워크 버전은 현재 목표 프레임워크보다 높습니다." 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"를 해결하지 못함 조심. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "어셈블리와 관련된 간접 의존성을 가진다". NETFramework, Version=v4.5" 프레임워크. 이 프레임워크 버전은 현재 목표 프레임워크보다 높습니다." 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): error CS0246: 타입 또는 네임스페이스 이름을 찾지 못했습니다" Fiddler" (using instruction이나 assembly 참조가 누락된 건가요?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): 오류 CS0246: 타입 또는 네임스페이스 이름 "Fiddler" 찾지 못함 (누락됨) 지시문(directive) 또는 어셈블리 참조(assembly reference)를 사용하나요?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): 오류 CS0246: 타입 또는 네임스페이스 이름 "IAutoTamper" 찾지 못함 ( using directive나 assembly reference가 누락된 건가요?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): 오류 CS0246: 타입 또는 네임스페이스 이름 "Session"을 찾지 못함 (누락됨) 지시문(directive) 또는 어셈블리 참조(assembly reference)를 사용하나요?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): 오류 CS0246: 타입 또는 네임스페이스 이름 "Session"을 찾지 못함 (누락됨) 지시문(directive) 또는 어셈블리 참조(assembly reference)를 사용하나요?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): 오류 CS0246: 타입 또는 네임스페이스 이름 "Session" 찾기 실패 (누락됨) 지시문(directive) 또는 어셈블리 참조(assembly reference)를 사용하나요?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): 오류 CS0246: 타입 또는 네임스페이스 이름 "Session"을 찾지 못함 (누락됨). 지시문(directive) 또는 어셈블리 참조(assembly reference)를 사용하나요?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): 오류 CS0246: 타입 또는 네임스페이스 이름 "Session"을 찾지 못함 (누락됨) 지시문(directive) 또는 어셈블리 참조(assembly reference)를 사용하나요?) ========== 모두 재생: 0개 성공, 1개 실패, 0========== 건너뛸 수
해결책은 .NET 4.6.1로 바꾸는 것입니다!
2: 솔루션 탐색기에 fiddler.exe 참조를 추가하세요. 제 fiddler 설치 디렉터리는 아래와 같이 C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler입니다:
3: 플러그인이 실행 중인 Fiddler의 최소 버전을 설정하세요
Fiddler.RequiredVersion 속성을 프로젝트의 AssemblyInfo.cs 파일(그리고 코드 내 다른 곳)에 추가하세요.
4: 새로운 Fiddler 탭 UI 컨트롤 만들기
System.Windows.Forms 어셈블리에 대한 참조를 추가해야 합니다
아래 이미지에 보이는 대로 TestControl.cs(임의)라는 사용자 컨트롤을 프로젝트에 추가하는 것부터 시작하세요:
그 다음 사용자 컨트롤 위에 무작위 버튼 컨트롤을 올리고 간단한 클릭 이벤트 코드 줄을 작성합니다:
5: 새로운 DemoExtention 확장 클래스 생성
DemoExtention 클래스는 IAutoTamper 인터페이스를 계승합니다.IAutoTamper 인터페이스는 IFiddlerExtension 인터페이스를 계승합니다IAutoTamper 인터페이스를 구현하는 모든 플러그인은 모든 http/https 요청이나 응답에서 호출되므로, http/https 요청 응답 데이터를 가로채거나 수정하는 데 사용될 수 있습니다.
참고: 이 인터페이스의 메서드는 백그라운드 비UI 스레드에서 호출되며, UI를 업데이트하고 싶다면 Invoke 또는 BeginInvoke 메서드를 사용해 UI를 업데이트할 수 있습니다. 모든 IAutoTamper 메서드는 OnLoad 이벤트 이전에 실행할 수 있습니다.
코드는 다음과 같습니다:
6: Fiddler가 플러그인을 로드합니다
프로그래밍하고 생성한 후, Debug 디렉터리 fiddler-plugin-demo.dll 파일과 fiddler-plugin-demo.pdb 두 파일을 fiddler 설치 디렉터리의 scrip{filter}ts 폴더로 복사하세요.
제 자신의 폴더는 다음과 같습니다: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts 폴더
마지막으로 재시작하고 Fiddler를 열면, 아래 탭에서 컨트롤을 확인할 수 있습니다:
7: 플러그인이 자동으로 fiddler 플러그인 디렉터리에 배포되도록 활성화
플러그인을 수정할 때마다 dll을 scrip{filter}ts 폴더로 다시 복사해야 합니다. 이 문제는 VS 생성 이벤트로 해결할 수 있습니다. 생성 이벤트를 다시 컴파일하면 VS가 자동으로 dll을 scrip{filter}ts 디렉터리로 복사하고, 후속 세대 이벤트 명령줄에 다음 명령을 입력합니다:
아래에 나와 있습니다:
정상 사용 여부도 테스트했습니다.
마지막으로 소스 코드를 첨부하세요:
관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다 회답
|