2011-03-20 6 views
26

Eclipse의 Java 개발에서 나온 Visual Studio를 처음 접했습니다. 무엇보다 Eclipse에서 바이너리 어셈블리 소스를 볼 수있는 능력이 부족합니다.Visual Studio에서 참조 된 어셈블리에 소스를 연결하는 방법

이클립스에서 참조 된 jar에 대한 소스 코드에 대한 참조를 첨부 할 수 있습니다. 그런 다음 소스로 이동하여 중단 점을 추가하고 디버깅하기가 쉽지 않습니다. 마치 작업 영역에 라이브러리가있는 것처럼 디버그합니다.

이 시점까지는 어셈블리 참조에 소스 코드를 첨부 할 수 없었습니다.

가능합니까? 이 라이브러리에 대한 소스 코드에 액세스 할 수 있다면 어떻게해야합니까?

답변

11

VS2010을 사용하면 먼저 디버그 기호로 참조 된 어셈블리를 컴파일해야합니다.

몇 가지 옵션은 다음과 같습니다

  1. 당신이 개체 브라우저에서 디버깅 할 개체를 찾을 수 있습니다. 오른쪽 클릭 -> 탐색 -> 심볼 파일 소스.
  2. 참조 된 어셈블리로 들어갈 때까지 코드를 단계별로 실행하십시오. 이 시점에서 소스 파일의 위치를 ​​묻는 대화 상자가 나타납니다. 그렇지 않은 경우 또는 취소 한 경우 오른쪽에 "소스 찾기"가 나타납니다. 회색으로 표시되어 있으면 해제 어셈블리를 참조하고 있기 때문일 수 있습니다.
+5

심볼 파일 소스가 표시되지 않습니다. Resharper 기능이라고 생각합니다. –

-1

가장 빠른 방법 : 이러한 어셈블리에 대한 소스 코드가있는 경우. 어셈블리 프로젝트와 참조 프로젝트가 단일 솔루션의 일부가되도록 해당 소스 코드를 현재 솔루션에 새 프로젝트로 추가하십시오.

이제 참조 추가 에서 조립 프로젝트에 조립에 대한 참조를 추가하고 '프로젝트' 탭을 선택합니다.

어셈블리 소스 코드에 중단 점을 넣고 디버깅을 시작하고 재미 있습니다!.

소스 코드에서 참조 할 때 'step into'또는 F11과 중단 점을 사용하십시오.

+5

감사합니다.하지만이 작업은 수행되지 않습니다. 여전히 소스 코드가 아닌 이진 어셈블리에서 내 종속성을 정의해야합니다 (NuGet 패키지 관리자로 depencency를 가져 왔습니다). 사실 소스 코드는 내 디버깅 및 코드 고고학에 도움이 될뿐입니다. –

+4

또한 - CI 서버를 사용하여 내 솔루션을 빌드하고 대부분의 외부 종속성에 대한 소스 프로젝트가 불필요하게 빌드 시간을 늘릴 것입니다. 내 해결책. –

4

당신이 ReSharper를 사용하는 경우, 당신은 ReSharper에서/옵션/외부 소스로 이동하여 활성화하고, "기호 파일의 소스"를 이동할 수 있습니다. 그런 다음 "심볼 파일의 소스"탭에서 "고급"을 클릭하면 소스 폴더를 매핑 할 수 있습니다.

대답 here의 복사본입니다,하지만 난 당신, 독자, 당신이 너무 대답이이 링크 우연히 그래서 만약 여기를 포함하고 싶었다.

관련 문제