IT story

VS 2015 업데이트 1-릴리스 빌드를 디버깅하고 있다고 주장

hot-time 2020. 8. 28. 08:01
반응형

VS 2015 업데이트 1-릴리스 빌드를 디버깅하고 있다고 주장


VS 2015 업데이트 1로 업데이트 한 후 웹 프로젝트 (MVC)를 실행하고 응용 프로그램을 중지 한 다음 다시 실행하면 VS가 중지되고 다음과 같은 대화 상자가 나타납니다.

의 릴리스 빌드를 디버깅하고 <myproject.dll>있습니다.

컴파일러 최적화를 사용하는 릴리스 빌드에서 Just My Code를 사용하면 디버깅 환경이 저하됩니다 (예 : 중단 점이 적중되지 않음).

문제는 릴리스 빌드를 실행하고 있지 않다는 것입니다. 방금 실행 한 (동일한) 디버그 빌드를 명확하게 실행하고 있습니다! VS에서 내가 릴리스 빌드를 실행하고 있다고 생각하는 이유는 무엇입니까?

솔루션을 청소하고 다시 실행하면 오류 메시지가 지워 지므로 어딘가에 무언가가 묻어 있습니다.


Microsoft의 말은 이것이 알려진 문제라는 것입니다 (원래 디버거 팀에 갔지만 빌드 문제로 확인되었으며 현재 프로젝트 시스템 팀의 손에 있습니다.이 문제에 대해 열려있는 다른 버그가 있습니다. 우선 순위 1로 평가되었으므로 다음 업데이트를 위해 진행되어야합니다. 예상대로 출시 될시기 (또는 실제로 업데이트에 포함 된 내용)에 대해서는 약속 할 수 없습니다.

그래서. 알려져 있고 작업 중입니다. 적어도 디버깅 일반 옵션에서 "내 코드 만 활성화"를 끄는 것이 현재 해결 방법 인 것 같습니다.


@romanoza가 언급했듯이 Microsoft 는 다음 정보로 Microsoft Connect 버그 보고서 (이전에는 여기에 있음 )를 업데이트했습니다 (이전 에는 아카이브를 찾을 수있는 경우).

디버그-> 옵션-> 모듈로드시 JIT 최적화 억제 (관리 전용) 설정을 선택 취소하십시오.

이것이 해결 방법입니다. 그들은 나중에 다음과 같이 말합니다.

선택하지 않으면 특정 시나리오에서 내 코드의 성능과 동작이 모두 향상되므로 선택하지 않은 상태로 두는 것이 좋습니다.

마지막으로 감사의 말 :

해당 설정이 활성화 된 상태에서 작동하지 않는 버그이며 일부 고객이 해당 설정을 활성화 한 상태에서 여전히 디버깅을 원하는 경우 해당 상황에 대한 수정 작업을 진행하고 있습니다.

업데이트 : 댓글에 따르면 일부 개발자에게는 기본적으로 체크 박스가 선택되어 있지 않은 것으로 보이며 체크 하면 경우에 따라 똑같은 문제를 해결할 수 있습니다. 아주 이상한.


여기에 대한 답변이 불완전하고 동일한 문제가 발생했으며 프로젝트 속성을 열고 빌드 탭에서 "코드 최적화"를 선택 해제 한 디버그 구성을 통해 문제가 해결되었습니다 . 또한 위에서 언급 한대로 구성 관리자를 확인하여 올바른지 확인해야합니다. 답변은이 게시물에서 나 왔으며 크레딧을 받아야합니다. VS2015 프로젝트는 더 이상 디버그 모드에서 실행되지 않습니다.

감사,


솔루션을 청소 (및 재 구축)하면 임시 해결 방법으로 사용할 수 있습니다. 또한 디버그> 옵션을 선택하고 Suppress JIT optimization확인란을 선택 취소 할 수 있습니다 .


답변 에서 제안한대로 구성 관리자에서 구성을 디버그설정하는 문제를 해결했습니다 .

여기에 이미지 설명 입력


VS2015 업데이트 1로 업데이트 한 이후 동일한 문제가 발생했습니다.

Microsoft의 Visual Studio 포럼 에서 여기 에서 제기 된 버그 보고서를 가리키는 유사한 보고서를 찾았습니다 .

다양한 해결 방법이 있지만 근본적인 문제는 디버깅이 끝났을 때 IIS Express가 종료되지 않고 편집 및 계속 옵션이 선택 해제되어 있기 때문이 아니라는 것입니다. 버그가 수정 될 때까지 찾을 수있는 가장 빠른 해결 방법 :

  • 트레이에서 IIS Express 아이콘을 마우스 오른쪽 버튼으로 클릭하고 디버깅 후 종료합니다 (버그 보고서에 대한 해결 방법을 제공 한 David Totzke에게 감사드립니다)

좋지는 않지만 현재로서는 적절한 해결책이 없다고 생각합니다.


같은 문제가 발생했습니다. 'bin'폴더에서 모든 파일을 수동으로 삭제 한 다음 솔루션을 다시 빌드하여 문제를 해결했습니다. 이 대화 상자가 더 이상 표시되지 않습니다.


제 경우에는 "구성 관리자"의 전체 솔루션에 대한 "액티브 솔루션 플랫폼"을 x86에서 모든 CPU로 변경하여 문제를 해결했습니다.


솔루션의 구성 속성을 확인하십시오. 동일한 문제가 발생하여 디버그 구성이 실제로 릴리스 구성으로 일부 프로젝트를 빌드하고 있음을 발견했습니다.


디버거를 중지 한 후 Visual Studio가 iisexpress 프로세스를 종료하지 않는 것으로 나타났습니다. 수동으로 프로세스를 죽이는 것이 나를 위해 그것을 고치는 것처럼 보였습니다.

이것은 이제 업데이트 2에서 수정 된 것으로 보입니다.


문제가있는 사람들만큼 많은 해결책이있는 것 같지만 제 경우에는 프로젝트 참조를 제거하고 다시 추가해야했습니다. 프로젝트 참조는 동일한 솔루션의 단위 테스트 프로젝트에있었습니다.


제 경우에는 오류 메시지가 정확했습니다. 릴리스 된 버전을로드하는 응용 프로그램을 실행하고있었습니다. 그래서 응용 프로그램이 디버그 버전을 대신로드하도록하여 수정했습니다.

초등학교, 나도 알아, 나 자신을 바보처럼 보이게 만든다는 걸 깨닫는다. 그러나 때때로 문제는 정확히보고 된 것입니다.


IIS 프로젝트 URL이 실제로 생각하는 위치를 가리키는 지 확인하십시오. 확실하지 않은 경우 '가상 디렉터리 만들기'버튼을 클릭합니다.

I had this issue recently where I had been running a temporary version of a production codebase and had repointed the folder in IIS to the temporary version, which was, indeed, running a production build, not the debug version I was trying to debug.


For me, I found 3 \Release\ folder refs in this FileListAbsolute.txt file:

C:\Projects\MyWebApp.Web\obj\Release\MyChildWebApp.Web.csproj.FileListAbsolute.txt

They were like this:

C:\Projects\MyWebApp.Web\obj\Release\MyChildWebApp.Web.csprojResolveAssemblyReference.cache

C:\Projects\MyWebApp.Web\obj\Release\MyChildWebApp.Web.dll

C:\Projects\MyWebApp.Web\obj\Release\MyChildWebApp.Web.pdb

And simply removing those 3 lines outside of VS then re-opening the solution solved the problem. Hope that helps.


I have tried all the answers, and the one worked for me is remove some NuGet package, not just the reference, but remove the package, in my case PostSharp. At first I tried to remove the reference from all the projects, and it doesn't work, then I just removed the packages from the manager. I don't what exactly the reason, but that's what solved my problems, hope it could help someone out there.


Restart Visual Studio. This fixed the issue for me in 2017 Professional.


Here is what worked for me.

If a web project, Go to the project properties of the web project and

  1. If Local IIS is selected, restart your IIS server.
  2. If IIS Express is selected, exit IIS express from the task tray icon.

It seems some dll's get cached so the above steps will invalidate the cache.


Pretty sure this has been fixed in Visual Studio 2015 Update 2.

나는 이것을 항상 (하루에 여러 번) 보았고 업데이트 2로 업데이트 한 이후 한 번도 보지 못했습니다.

참고 URL : https://stackoverflow.com/questions/34028341/vs-2015-update-1-claiming-i-am-debugging-a-release-build

반응형