2012-11-04 6 views
0

winForm 프로젝트와 클래스 라이브러리 프로젝트가있는 프로젝트가 있습니다. winform 프로젝트는 분명히 클래스 라이브러리에 의존합니다.Visual Studio에서 예외 위치

winform은 클래스 라이브러리의 위젯 클래스에 포함됩니다. 그러나 위젯 클래스는 메서드 중 하나를 사용하여 예외를 throw합니다. 실망스러운 점은 VS가 Widget 클래스 자체가 아니라 위젯의 메서드를 호출하는 winForm 앱에서 줄을 깨고 있다는 것입니다. 예전처럼! 이렇게하면 디버그하는 것이 더 어려워집니다. 참조 된 라이브러리를 손상시키지 않는 어딘가 설정이 있다면 궁금합니다.

예 :

WinApp : 위젯 (인해 액세스 제한) 파일을 삭제할 수 없습니다

public void DeleteFiles() 
{ 
    foreach (FileInfo currFile in ThisWidgetsFileCollection) 
    { File.Delete(currFile.FullName);} 
} 

, 디버거 나누기 : 위젯 클래스에서

Widget myWidget = new Widget(); 
myWidget.DeleteFiles(); 

라인에

myWidget.DeleteFiles(); 

NOT

{currFile.Delete();} 

희망적으로 말이 되겠습니까? 생각?

+0

죄송합니다. {File.Delete (currFile.FullName);}이 (가) 있어야한다고 생각하지만 잘하면 당신은 아이디어를 얻었습니다! – rune711

+0

질문이 수정되었습니다. – rune711

+0

가능한 경우 디버거에 소스 코드가 표시됩니다. 소스 코드를 보지 못하도록 조치했습니다. 클래스 라이브러리의 릴리스 버전을 만들고 참조하는 것과 같습니다. PDB 파일이 없어도됩니다. 두 프로젝트를 모두 솔루션에 포함시키는 것으로 시작하십시오. –

답변

1

Visual Studio의 구성 관리자에서 두 프로젝트가 모두 디버그로 설정되어 있는지 확인하십시오. 그런 다음 솔루션을 마우스 오른쪽 단추로 클릭하고 솔루션 정리를 선택하십시오. 또한 Winforms 프로젝트에서 라이브러리에 대한 참조가 프로젝트 참조 (일부 DLL을 직접 참조하지 않음)인지 확인하십시오.

그런 다음 응용 프로그램을 디버그하면 제대로 작동합니다.

관련 문제