반사판에 대한 오픈 소스 대안?
RedGate의 리플렉터 에 대한 오픈 소스 대안을 아는 사람이 있는지 물어보십시오 . Reflector와 비슷한 도구가 실제로 어떻게 작동하는지 확인하고 싶습니다.
Reflector 의 무료이지만 오픈 소스가 아닌 대안을 알고 있다면 다음 관련 질문에 대답 할 수 있습니다.
요약-2011 년 5 월 11 일 업데이트
제안 된 다양한 오픈 소스 프로젝트 및 도구의 빠른 정리 :
- 공통 컴파일러 인프라 (CCI)
- 모노 세실
- ILSpy
- dnSpy ( ILSpy 포크, 프로젝트가 원본보다 활성화 된 것으로 나타남)
- 닷넷 IL 편집기 (DILE)
- IL.보기
- 모노 플 렉터 ( 2011 년 4 월부터 더 이상 활성화되지 않음 )
다음 자료들도 관심이있을 수 있습니다.
- TypeView.cs
- .NET 분해 에 대한 Jason Haley의 노트
- Adrian Bank의 최근 블로그 게시물 에는 아래에 언급되지 않은 몇 가지 옵션을 포함하여 여러 가지 반사판 대안이 요약되어 있습니다.
- Mark Lichtenberg의 자세한 블로그 게시물은 여러 오픈 소스 대안 (MonoDevelop을 사용하는 DILE, ILSpy 및 Mono Cecil)을 리플렉터와 비교합니다.
내가 아는 두 가지 옵션.
- CCI
- 모노 세실
이것들은 C #을 제공하지 않습니다.
2011 년 12 월 13 일 업데이트
다음과 같은 오픈 소스 도구를 사용할 수 있습니다.
- SharpDevelop 팀의 ILSpy Scott Hanselman의 트윗 덕분 에이 도구가 강조되었습니다.
- Dotnet IL 편집기 (분해기)
- IL.View -Silverlight 4에서 브라우저 외부 Silverlight 응용 프로그램으로 작성된 .NET 반사판 대안입니다. 자세한 내용은이 블로그 게시물을 참조하십시오.
다른 대체품은 dotPeek 입니다. JetBrains는 무료 도구로 발표했습니다. Resharper 와 함께 사용하면 더 많은 기능을 사용할 수 있지만 단독으로 사용하더라도 매우 잘 작동합니다.
사용자 경험은 독립형 디스어셈블러보다 MSVS와 유사합니다. Reflector보다 코드를 읽는 것이 더 좋습니다. Ctrl + T 탐색도 더 적합합니다. 트리를 코드 창과 동기화하는 것이 더 좋습니다.
대체로 아직 개발 중이지만 이미 잘 사용할 수 있습니다.
Telerik은 오늘 자체 디 컴파일 툴인 JustDecompile 베타를 발표했다 . 비공개 소스이지만 무료이며 유망한 것으로 보입니다.
내가 말할 수있는 한, 리플렉터가했던 것과 똑같이 보이는 모든 것을한다.
실제로 Reflector는 디 컴파일러 기능이있는 디스어셈블러로 간주됩니다. 디스어셈블러는 어셈블리 파일에서 바이트를 읽고 어셈블리 언어 (이 경우 ILasm)로 변환하기 때문에 디스어셈블러입니다. IL을 잘 알려진 패턴 (표현식 및 문장)으로 구문 분석하여 제공하는 디 컴파일러 기능은 C #, VB.Net 등과 같은 고급 언어로 번역됩니다. Reflector의 addin api를 사용하면 자체 언어 번역기를 작성할 수 있습니다. 당신이 원하지만 ... IL을 표현 트리로 구문 분석하는 방법의 마술은 밀접한 비밀입니다.
IL 디스어셈블러의 작동 방식을 이해하려면 위에서 언급 한 세 가지 중 하나를 살펴 보는 것이 좋습니다. Dile, CCI 및 Mono는 모두이 자료의 좋은 소스입니다.
또한 Ecma 335 사양 및 Serge Lidin의 책을 얻는 것이 좋습니다.
내가 리플렉터를 사용한 주된 이유는 (그리고 대부분의 사람들이 그것을 사용한 주된 이유는) 디 컴파일러 때문이었습니다. 메소드의 IL을 소스 코드로 다시 변환 할 수 있습니다.
그 시점 에서 Monoflector 는 볼 프로젝트입니다. 리플렉션을 수행하는 Cecil과 디 컴파일을 수행하는 Cecil.Decompiler를 사용합니다. 그러나 Monoflector는 두 라이브러리 위에 UI를 계층화하므로 API 사용 방법을 매우 잘 이해할 수 있습니다.
Monoflector는 Reflector를 완전히 대체 할 수있는 훌륭한 대안입니다. 사람들이 Reflector를 사용한 것의 99 % 인 타입을 탐색하고 메소드를 디 컴파일 할 수 있습니다. 가장자리가 너무 거칠지 만 그것이 빠르게 변할 것이라고 생각합니다.
Reflector 자체는 .NET 어셈블리이므로 Reflector에서 Reflector.exe를 열어 빌드 방식을 확인할 수 있습니다.
현재 Assembly Analyzer라는 오픈 소스 디스어셈블러 / 디 컴파일러에서 작업하고 있습니다. 메소드의 소스 코드를 생성하고 어셈블리 메타 데이터 및 리소스를 표시하며 종속성을 살펴볼 수 있습니다.
이 프로젝트는 CodePlex => http://asmanalyzer.codeplex.com/ 에서 호스팅됩니다
반사기 도구는 반사를 사용합니다.
-분명히 이것은 정확하지 않습니다.
리플렉터의 기능을 보여주는 코드와 리플렉터의 대안 인 두 가지를 요청했습니다.
다음은 Reflector의 기능을 단순화 한 예제이지만 리플렉션 기술을 보여줍니다. TypeView.cs
오픈 소스 리플렉터 교체에 대한 제안이 없습니다.
참고 URL : https://stackoverflow.com/questions/2425973/open-source-alternatives-to-reflector
'Programming' 카테고리의 다른 글
Java에서 난수 얻기 (0) | 2020.02.19 |
---|---|
목록의 평균 찾기 (0) | 2020.02.19 |
Java에서 SuppressWarnings ( "체크되지 않은") 란 무엇입니까? (0) | 2020.02.19 |
Series에서 DataFrame으로 Pandas GroupBy 출력 변환 (0) | 2020.02.19 |
Typedef 함수 포인터? (0) | 2020.02.19 |