2011-12-25 3 views
4

.NET 어셈블리를 디 컴파일 링하여 소스 코드를 얻을 수있는 프레임 워크를 찾고 있습니다.Reflector API를 사용하여 디 컴파일 된 소스 코드 받기

Reflector가 어셈블리 작업을 수행하는 데 필요한 일종의 API를 제공한다는 것을 알고 있습니다. 사용했을 때 IL 명령어 만 반환하고 실제 소스 코드는 반환하지 않는 것 같습니다.

내가 뭘하고 싶은데요 어떤 종류의 스마트 처리되지 않은 예외 처리기를 설정, 내게 실패한 줄의 코드를 얻을 것이다 (내부 디버깅 목적).

Reflector API를 사용하면 가능합니까? 이 목적을 위해 어떤 다른 도구를 사용할 수 있습니까?

+1

검색 할 때 뭘 찾았습니까? –

+0

나는 당신의 질문을 이해했는지 모르겠다 - 무엇을 검색 했습니까? –

+0

정말 프레임 워크가 필요하십니까? 거기에 도구가 있습니다 (ILSpy/반사경도 그렇게 할 수 있습니다). 그러나 코드가 난독 화되면 다른 이야기입니다. –

답변

3

이 작업을 수행하는 데 도움이 될만한 몇 가지 기사를 작성했습니다.

http://www.simple-talk.com/dotnet/.net-framework/-.net-reflector-meets-the-codedom/ 리플 렉터가 분해 할 수있는 언어를 만드는 방법에 대해 이야기합니다. 이것은 Reflector가 던질 언어 구조를 걷는 데 유용합니다.

http://www.simple-talk.com/dotnet/.net-tools/hosting-.net-reflector-in-your-own-application/ API를 사용하기 위해 코드에서 Reflector를 호스팅하는 방법에 대해 이야기합니다. 그러면 리플렉터에서 API에 액세스하고 로직에 액세스하는 과정이 단계별로 설명됩니다.

적어도 필요한 방향을 제시하는 데 도움이되기를 바랍니다.

2

(오픈 소스) ILSpy을 살펴볼 수 있습니다. 그들은 당신이 필요로하는 것을 할 수 있고 또한 소스 코드를 제공하기 때문에 이것을 출발점으로 삼을 수 있어야합니다. 나는 당신이 무엇을 필요로하는지 알고 있습니다,하지만 당신은 예외가 발생한 장소에 대한 정보를 런타임하려는 경우, 당신은 호출 스택 정보를 retreive하는 System.Diagnostics 네임 스페이스에있는 StackTraceStackFrame 클래스를 사용할 수있는

+2

Reflector API로이 작업을 수행 할 수 없습니까? 나는 ILSpy를 조사 할 것이다. –

-1

미안 확실하지 않다. 그러나 유감스럽게도 일반 텍스트로 소스 코드를 가져올 수는 없습니다.

+1

따라서, 제 질문입니다. –