데스크톱 응용 프로그램이 있습니다. Visual Studio를 사용하여 개발 중이므로 더 자주 응용 프로그램의 일부를 업데이트해야합니다. 매번 새로운 설치 프로그램을 배포하는 번거 로움을 피하기 위해 자주 업데이트되는 지원 기능을 별도의 프로젝트로 분할하여 DLL로 컴파일했습니다. 데스크톱 응용 프로그램은 이제 반사와 런타임에이 DLL을로드하고이 같은 인터페이스 정의와 공유 DLL에 따라 그 내부의 객체 인스턴스화Visual Studio 2005 : 다른 프로젝트에서 C# 코드를 디버깅 하시겠습니까?
Assembly a = Assembly.LoadFrom(supportDLLPath);
ISupportModuleInterface obj = (ISupportModuleInterface)a.CreateInstance("SupportCode.SupportObject");
if (obj != null)
{
obj.OnTransferProgress += new FileTransferProgressHandler(obj_OnTransferProgress);
obj.OnTransferComplete += new EventHandler(uploader_OnTransferComplete);
obj.DoWork(packagePath)
}
그것은 작동 대부분의 시간을 잘하지만, 내가 필요를 문제를 디버깅하고 Visual Studio 디버거를 안정적으로 가져올 수는 없습니다. 때로는 DoWork에 들어갈 때와 같이 코드를 통해 F11을 누르면 시스템의 DLL 소스 코드가 자동으로 찾아져 표시됩니다. 그러나 이벤트가 발생하면 Visual Studio는 [외부 코드] 마커를 호출 스택에 표시하고 지원 프로젝트의 코드 내에서 이동할 수 없습니다.
누구든지이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 그렇다면 지원 프로젝트를 올바르게 디버깅 할 수 있습니까? 고맙습니다!
성공! PDB 파일을 가리키고 프로젝트를 다시 시작한 후 가져 왔습니다. – jasonh