Nice programing

.NET 소스 코드 디버깅을위한 .cs 파일을 찾을 수 없습니다.

nicepro 2020. 12. 6. 22:06
반응형

.NET 소스 코드 디버깅을위한 .cs 파일을 찾을 수 없습니다.


MDSN 연습 에 따라 .NET 소스 디버깅 설정을 시도했습니다 . '.NET Framework 소스 스테핑 사용'체크와 마찬가지로 기호 캐시가 올바르게 설정되었습니다.

그러나 이후에 .NET 코드로 들어가고 싶을 때마다 관련 cs 파일의 위치를 ​​지정하라는 메시지가 표시됩니다. 오류 메시지는 You need to find <filename>.cs to view the source for the current call stack frameThe debugger could not locate the source file <filename>.cs입니다.

나는 파일을 찾거나 (내가 가지고 있지 않음) 분해를 보도록 제안 받았다 (하지만 나는 그것을 원하지 않는다).

.NET 소스 코드로 들어가는 방법?


글쎄, 내 경우에는 .Net 프레임 워크를 디버깅하려고하지 않았지만 동일한 오류가 발생했습니다. Cannot find .cs files for debugging .NET source code . 따라서 도구-> 옵션-> 디버깅-> 일반-> 내 코드 만 활성화에서 "내 코드 만 활성화"옵션을
설정해야했습니다.

MS 문서 당 :

시스템, 프레임 워크 및 기타 비 사용자 호출을 자동으로 건너 뛰고 호출 스택 창에서 해당 호출을 축소하도록 Visual Studio를 구성 할 수 있습니다.

https://docs.microsoft.com/en-us/visualstudio/debugger/just-my-code


확인 Tools-> Options-> Debugging-> General-> Enable source server support신비하게 모든 것이 작동했습니다. 너에게도 그랬 으면 좋겠어


이것도 한 시간이 걸렸습니다. 설정-> 도구-> 설정 가져 오기 및 내보내기-> 모든 설정 재설정을 재설정하여 마지막으로 수정했습니다.


여기의 답변은 모두 소스 코드를 실제로 실행하는 대신 무시 / 피하는 것에 대해 이야기합니다.

@JBSnorro올바른 방향으로 가고 있지만 문제는 Microsoft가 발생할 수있는 모든 .NET 기호 / 소스를 게시하지 않는 것으로 보입니다. 나는 그것이 그들의 부분에서 의도적 인 것인지는 모르지만 MS 소스에 들어가기 위해서는 큰 물류 작업 인 모든 어셈블리의 모든 버전을 게시해야합니다.

Tools-> Options-> Debugging-> General-> Enable source server support많은 경우에서 작동하지만 예 mscorlib.dll들어 4.6.1의 경우 기호 및 / 또는 디 컴파일 된 소스가 없다는 것을 알았습니다 . 그래서 내가 좋아하는 공통 소스 코드를 한 단계 씩 수없는 Dictionary.csTask.cs로서는, 예를 들면. MS 심볼 서버의 소스 및 심볼은 항상 변경 될 수 있기 때문에. 이 글을 읽으면 내 문제가 해결 될 수 있습니까?

Jetbrain의 Rider에서 동일한 솔루션을 디버깅하면 모든 .NET 어셈블리의 모든 클래스를 문제없이보고 단계별로 확인할 수 있습니다. 그러나 VS에서는 일부 수업에만 들어갈 수 있지만 다른 수업에는 들어갈 수 없습니까?

정말로 모든 .NET 소스 코드를 사용하기로 결정했다면 Jetbrain의 DotPeek를 사용하고 .NET 어셈블리를 디스크의 실제 .cs 파일로 디 컴파일 할 수 있습니다. 그럼 이걸 보면

소스 코드를 찾을 수없는 예

이제 DotPeek를 사용하여 디 컴파일 한 소스 코드로 디스크를 탐색 할 수 있습니다. 프로젝트에서 참조하는 것과 동일한 어셈블리 버전을 디 컴파일했는지 확인하십시오. 그렇지 않은 경우 기호가 올바른 소스 행 번호와 일치하지 않을 수 있습니다.

대신이 "소스를 찾을 수 없음"이 지속적으로 나타나는 것을 숨기고 소스가없는 코드를 입력하지 않으려면 @Alex Sherman의 답변을 읽으십시오 . 문제가되는 파일이 어떤 어셈블리에 포함되어 있는지 파악한 다음 해당 어셈블리 이름을 제외 목록에 추가해야합니다.

생각할만한 음식, 나는 Rider over VS의 팬이 아닙니다. Rider는 여전히 터치 원시이며 VS에 내장 된 도구가 부족합니다. 하나!! 나는 잡초에 더 깊이 들어갈 수 있다는 것을 알고있는 이와 같은 경우에 나란히 설치하는 것을 좋아합니다.


Clean the solution before build solved the issue for me.

Just navigate and click on:

  1. Build -> Clean Solution.
  2. Build -> Build Solution (Ctrl + Shift + B).

Had the same issue, neither proposed above solutions helped me to solve the problem. Occurred in VS 2017. When I ran the project in Visual Studio 2019, everything worked. So just try to run it in other environments. Hope this answer will help someone


If the error is from looking for "nullable.cs" or some other core source file:

You can disable symbols for specific modules by using Debug -> Options -> Debugging -> Symbols and then on the bottom Specify Excluded Modules.

This is useful for cases where you do want to disable "Just My Code" to step into other assemblies that you have PDBs for. Visual Studio I think comes with symbols for mscorlib.dll but does not include the source so sometimes stepping into things will look for a "nullable.cs" or some other core source file.


You can find source code here to download so you can debug properly. https://referencesource.microsoft.com/#mscorlib,namespaces


I got this error when updating a NuGet package in a project, while missing to update it in other projects of the solution.

Going to the NuGet Manager of the solution and using the consolidate function, which ensures all projects in the solution use the same version, resolved the problem for me.

참고 URL : https://stackoverflow.com/questions/40320257/cannot-find-cs-files-for-debugging-net-source-code

반응형