다음 모듈은 최적화를 사용하거나 디버그 정보를 사용하지 않고 구축되었습니다.


139

디버깅 할 때 VS 2008 웹 프로젝트에서이를 제거 할 수 없습니다. 해당 웹 이외의 프로젝트에서 디버그 모드에 있고 Active (Debug)에 있는지 확인했습니다. Windows에서 .NET 2.0 temp 폴더의 모든 항목을 삭제했습니다. 여기서 무엇을해야할지 모르겠습니다.

답변:


187

도구 / 옵션 / 디버깅 / 옵션에서 "내 코드 만 활성화"를 비활성화하십시오.


나는 그것을했고 효과가 있었다. 중단 점을 사용하고 코드를 단계별로 실행할 수있었습니다. 나는 그것을 얻지 못한다. 왜 효과가 있었습니까? (VS2010을 사용하여 Win 서비스에서 참조하는 Managed C ++ 모듈을 디버깅하고있었습니다)
tzup

방금이 문제가 있었고 귀하의 솔루션이 나를 위해 일했습니다. 감사!
Colin O'Dell

5
그것은 작동하지만 디버깅 할 때 원치 않는 부작용을 일으킬 수 있습니다 : blogs.devsource.com/devlife/content/net_general/…
user276648

2
VS2010에서이 확인란은 디버그> 옵션 및 설정에 있으며 디버깅> 일반
쿠키에서

이것은 옵션의 재건으로 인해 작동합니까? 거래는 무엇인가. 문제를 해결했지만 왜 그렇습니까?
jeremy.bass 2016

83

나는 같은 문제가 있었고 빌드에서 디버그 정보를 출력하지 않는다는 것을 발견했다. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 '속성'으로 이동 한 다음 '빌드'탭을 선택하면 페이지 하단에 '고급 ...'버튼이 있으며 디버그 정보 출력에 대한 설정을 표시합니다. 이를 'full'로 설정하면 오류가 사라집니다.

여기에 이미지 설명을 입력하십시오


1
이것이 정답입니다. 개발 모드에서 응용 프로그램을 로컬로 디버깅하려면 "전체"디버그 정보를 출력해야합니다. 이 답변은 의도하지 않은 부작용을 일으킬 수 있으므로 "내 코드 만 사용"답변 대신이 작업을 수행해야합니다 (위에서 언급 한 바와 같이).
Tod Thomson

1
@ Tod Thomson, 웹 응용 프로그램을 디버깅하고 클래스 라이브러리에 들어 가려고 할 때 메시지가 표시되므로 질문에 설명 된 구성과 매우 유사하므로 왜 이것이 정답인지 주장하는 지 확실하지 않습니다. 내 디버그 정보 설정이 가득 차서 다른 설정 이라고 믿을 이유가 없습니다.
R. Schreurs

1
@ R.Schreurs 나는이 페이지의 다른 모든 것을 시도했으며 나를 위해 일한 유일한 것은이 대답이었습니다. 그것이 효과가 없다면 여기에서 다른 것을 시도해보십시오 / 자신의 답변을 제공하십시오.
토드 톰슨

Microsoft 오류입니다. "해야한다"라고 말하지 마십시오. "오류가
사라져야

24

방금이 문제에 부딪 쳤고 게시 된 다른 답변이 나에게 적용되지 않기로 신속하게 결정했습니다.

비활성화

나는 프로젝트의 소유자이며 최적화가 아닌 디버그 정보로 빌드되었다는 것을 알고 있습니다. 또한 경고를 사용하지 않는 것을 첫 번째 선택으로 선택하는 것이 행복하지 않습니다. 이 경고를 숨기거나 무시하면 향후 디버깅 세션에서 문제가 될 수 있습니다.

어셈블리에 서명 한 후에 만이 작업이 시작 되었기 때문에 빠른 수정에 나를 붙 잡았습니다 : DLL의 강력한 이름을 일시적으로 제거하고 EXE를 소비합니다. 짜잔! 문제 해결됨.

더 나은 장기 솔루션은 빌드 후 작업을 추가하여 GAC 를 업데이트하는 형태를 취할 수 있습니다. 하여 최신 버전의 서명 된 DLL을 갖도록 .

그러나 지금은이 전환에서 벗어나 기꺼이이 디버깅 세션으로 이어진 문제에 대해 계속 연구하고 있습니다.


4
나는 당신과 비슷한 상황에 있었지만 쉽게 벗어날 수있었습니다 ...이 DLL을 GAC에 넣는 프로그램을 제거했습니다. 디버깅 된 것의 이전 버전이기 때문입니다.
SeeMoreGain

2
또한 일을 선택 취소 제안 다른 사람을 문제의 원인을 해결하기 위해 추천보다는 모두 같은 대안을 사용하기위한 "내 코드를 사용"
SeeMoreGain

17

해결되었습니다. 해당 dll의 모든 발생 (모든 프로젝트)을 삭제했습니다.


1
참조 된 프로젝트와 활성 솔루션이 열려있는 모든 VS / VWD 세션을 닫았습니다. 그런 다음 문제가있는 dll 및 해당 동반자 pdb의 모든 인스턴스를 삭제했습니다. 다음으로 .NET 프레임 워크 구조에서 임시 디버그 웹 사이트 위치 아래의 모든 항목을 삭제했습니다 (이 프로젝트의 경우 C : \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files [myWebsite]). VWD를 닫을 때까지 이전 버전 중 하나에서 '사용중인 파일'오류가 발생했습니다. 그런 다음 프로젝트를 다시 열고 프로젝트 코드의 모든 미해결 오류 및 경고를 수정했습니다. 그런 다음에야 오류가 사라졌습니다.
BH

14

VS2012, 청소 및 재구성으로 문제가 해결되었습니다. "속성"-> "빌드"-> 코드 최적화가 선택 해제되어 있습니다. "속성"-> "빌드"-> "고급"-> 디버그 정보 : 전체


설정을 변경해야합니까
kbvishnu

이것은 Visual Studio 2010 추가 기능을 디버깅 할 때 효과적이었습니다. 이전에는로 설정되었습니다 none.
Sabuncu

나를 위해 일하지는 않았지만 bin 및 obj 폴더를 삭제 한 후 솔루션을 정리하고 다시 작성하십시오. :)
QMaster


7

VS 2008을 추측하면 dll이 올바르게 다시 작성되지 않습니다.

1) dll의 모든 발생을 삭제하십시오.

2) 솔루션 재 구축

그리고 그것은 고쳐야합니다.


내 웹 응용 프로그램의 bin 디렉토리를 삭제 한 다음 모두 다시 작성했습니다. 그것은 그것을 고쳤다!
Captain Sensible

6

빌드 구성 옵션을 확인하십시오. 최적화가 해제되어 있고 DEBUG 상수가 정의되어 있는지 확인하십시오.


빌드가 선택되었고 최적화가 완전히 해제되었습니다.

6

다른 모든 방법이 실패하면 프로젝트 속성에서 어셈블리 이름을 바꾸십시오. 이것은 나를 위해 문제를 해결했습니다.


몇 시간을 보냈고 인터넷을 뒤져서 내가 만난 모든 것을 시도한 후에 이것은 효과가있었습니다. 뭔가 캐시해야합니까?
크리스 R

6

나는 또한이 문제를 겪습니다. 어떤 이유로 3-4 번 발생했습니다. 나는 그것이 Visual Studio 2005 버그 / hick up (또는 적어도 내 설치)이어야한다고 생각합니다.

이것은 매번 효과가 있습니다.

  1. 내 솔루션을 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭하십시오.
  2. 구성 관리자를여십시오.
  3. 드롭 다운 메뉴에서 디버그를 선택하십시오 (아직 선택하지 않은 경우).
  4. 빌드를 선택 취소하십시오. 그런 다음 다시 확인하십시오.
  5. 솔루션을 다시 빌드하십시오.

4

도구> 옵션> 디버깅> 기호> 제외 된 모듈 지정 제외 된 모듈 목록의 dll 또는 exe 인 경우


3

적어도 웹이 아닌 응용 프로그램의 경우 다음과 같이 작동합니다.

보낸 사람 : http://www.stellarpc.com/articles/board.aspx?id=40

2-디버깅 허용 ...

응용 프로그램에서 어셈블리 중 하나가 구축 된 특성으로 인해 Visual Studio Debugger에서 코드를 처리 할 수 ​​있도록 몇 가지 설정을 변경해야합니다.

솔루션 탐색기에서 해당 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 '속성'을 선택하십시오. 프로젝트 속성 패널이 열리고 프로젝트에 대한 다양한 옵션에 액세스 할 수 있습니다. 'Complile'탭 (또는 C # 환경의 경우 'Build')으로 이동하여 화면 하단에서 'Advanced Compile Options ...'를 선택하십시오. 이를 통해 두 가지 주요 관심 분야가있는 프롬프트가 표시됩니다.

1) 최적화- '최적화 활성화'를 선택 취소하십시오.

2) 디버그 정보 생성-옵션이 'Full'로 설정되어 있는지 확인하십시오.


흥미 롭습니다 ... 프로젝트를 이런 식으로 구성했으며이 구성으로도 메시지가 계속 나타납니다. 따라서 이것이 궁극적 인 해결책은 아닙니다
Junior Mayhé

3

특정 폴더에 솔루션 으로이 문제가 있었지만 다른 폴더로 이동하거나 다른 폴더로 옮길 경우 메시지가 표시되지 않습니다. 정리, 재 구축 및 재부팅을 수행했지만이 메시지없이 원본을 디버깅 할 수 없었습니다. 시스템에서 파일 사본을 검색하여 오류가 발생했으며 사본이

c : \ User \ 사용자 이름 \ AppData \ Local \ Assembly \ dl3

이것은 Win7-64에 있었지만 다른 Windows OS에서도 비슷합니다. 찾은 사본을 모두 삭제했는데 더 이상 메시지가 표시되지 않습니다. "내 코드 만 활성화"를 선택 해제 할 필요가 없었습니다.

또한 이것은 WPF 앱 용이지만 검색 에서이 스레드를 발견 했으므로 다른 사람을 도울 수 있기를 바랍니다.


3

다음 단계에 따라이 문제를 해결할 수있었습니다.

  1. 솔루션이 아닌 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 '속성'을 선택하십시오.
  2. 왼쪽 패널에서 '구성 속성'을 선택하십시오.
  3. 오른쪽 패널에서 프로젝트의 '구성'열에서 '디버그'를 선택하십시오.

솔루션 탐색기에 솔루션이 표시되지 않으면 다음 단계를 수행하십시오.

  1. 메뉴 표시 줄에서 도구-> 옵션으로 이동하십시오.
  2. 왼쪽 패널에서 '프로젝트 및 솔루션'을 선택하십시오 (창 왼쪽 하단에서 '모든 설정 표시'를 확인해야 할 수도 있음).
  3. 오른쪽 패널에서 '항상 솔루션 표시'를 확인하십시오.

이게 도움이 되길 바란다.


2

나도이 모든 것을 가지고있다. 그리고 나는이 모든 것을했습니다. 소스 제어에서 전체 솔루션의 새로운 사본을 얻을 때마다 이것이 발생합니다. 따라서 웹 프로젝트의 모든 참조 (어셈블리)에 대해 dll 및 .pdb 파일을 삭제하고 솔루션의 정리 옵션을 사용하고 임시 파일을 삭제하고 VS를 닫고 다시 열면 디버그 모드가 선택되어 있는지 확인하십시오. 그리고 완전히 설정하고 최적화가 해제되었습니다. 더 무엇입니까?!?!?!


나는 해결책도 필사적이다. 심지어 pdb 파일도 생성 할 수 없습니다.
xar

2

Visual Studio 2010의 웹 프로젝트에서 동일한 문제가 발생하여 마침내이 메시지가 표시되는 이유를 찾았습니다. 내가 한 것은 Visual Studio에서 기존 디버깅 옵션을 변경하는 것이 었습니다.

  • 도구-> 옵션-> 디버깅-> 기호-> 모든 모듈로 이동하십시오.
  • "제외되지 않은 경우"라디오 버튼을 확인하십시오.
  • "제외 된 모듈 지정"링크를 클릭 한 다음 디버깅 할 DLL을 제거하십시오.

내 경우에는 내 웹 dll 파일이었습니다 ...


2

다른 서브넷에 속한 컴퓨터에서 응용 프로그램을 원격으로 디버깅하려고 할 때이 문제가 발생했습니다. 컴퓨터가 동일한 서브넷에 있으면 네트워크를 통해 코드를 실행할 때 코드를 디버깅하고 단계별로 실행할 수있었습니다. 서브넷을 변경 한 후 네트워크에서 실행할 때 단계별로 통과 할 수없고 "최적화를 사용하거나 디버그 정보없이 다음 모듈이 구축되었습니다"라는 메시지가 나타납니다.

해결책? 쉬운. 빌드 된 솔루션을 원격 디버깅을 호스트하는 머신에 복사하고 로컬로 실행하십시오.


2

VS 2010 winForms 프로젝트에서 이런 일이 발생했습니다. 여기에 대다수의 사람들이 웹 프로젝트를 가지고 있다는 것을 알면 프로젝트가 저장된 폴더에 액세스해야한다고 생각합니다. 이 문제가 나에게 발생했을 때 Google 드라이브가 내 프로젝트를 유지하는 폴더를 동기화했기 때문에 이것을 말합니다. 동기화를 비활성화해도 문제가 해결되지 않는 것 같습니다.

내 솔루션은 위의 답변 중 하나와 유사합니다.

  • "프로젝트 속성> 컴파일> 고급 컴파일 옵션"으로 이동
  • "최적화 사용"확인
  • "일반 디버그 정보 :"를 "없음"으로 설정하십시오.
  • 확인되지 않은 "DEBUG 상수 정의"
  • 그리고 OK를 눌렀습니다.
  • 그런 다음 돌아가서 옵션을 초기 상태로 되돌 렸습니다.

이것이 여전히 발생하는 것처럼 누군가에게 도움이되기를 바랍니다.


2

다음을 수행하십시오 : (첫 번째 중지 디버깅)
1 : 프로젝트 솔루션 이름 또는 프로젝트를 마우스 오른쪽 버튼으로 클릭 -> 속성
2 : 구성 속성 아래 에서 구성 관리자
3 : 디버그구성 변경을 선택 하고 닫기를 클릭하십시오 : 4 : 구성 변경 을 디버그 하고 적용- > OK 이제 솔루션을 다시 빌드하십시오 ....!


1

나를 위해, 프로젝트 속성에서 "코드 최적화"상자를 확인하고 저장하고 선택을 해제 한 다음 다시 저장하면 나에게 도움이됩니다.

"내 코드 만 사용"을 비활성화해도 효과가 있었지만 해당 설정을 원하지 않는 수정보다 해결 방법이 더 많았습니다.


1

나는 같은 문제가 있었지만 다른 원인과 해결책이 있습니다. 창은 Gustavo가 보여준 것과 같지만 경로는 "\ users \ zzz \ AppSettings ..."에 있습니다. (여기서 zzz는 windows username 임)

Excel 추가 기능이 있습니다-추가 기능 설치를 테스트 중이므로 VS 설치 기능을 통해 사본이 설치되었습니다. VS는 분명히 설치된 사본과 방금 시작한 사본을 모두 디버깅하려고 시도했지만 설치된 사본에서 디버그 기호를 찾을 수 없습니다.

위의 해결책 중 어느 것도 효과가 없었습니다 (측면에 영향을 미치지 않음).

해결책 : 추가 기능을 제거하고 앱 설정에서 파일을 수동으로 삭제했습니다.


0

당신은 그것이 웹 프로젝트라고 언급했습니다 ...

<compilation debug="true />

web.config에?


0

릴리스 구성으로 빌드 한 후 동일한 문제가 발생했습니다. 디버그로 다시 전환했을 때 VS는 차이점을 감지하지 못했기 때문에 bin 폴더의 .dll 및 .pdb 파일을 업데이트하지 않았습니다.

나를 위해 일한 것은 다음과 같습니다.

  1. iisreset을 실행하여 (임시 폴더 정리)
  2. web.config를 저장하십시오 (VS가 실제로 재 구축되도록)
  3. 디버그시 재구성
  4. 프로젝트 시작

왜 Build Menu에서 Rebuild 명령을 사용하지 않았습니까? 변경 사항이 감지되는지 여부에 관계없이 모든 모듈을 강제로 다시 작성합니다.
Ron

@Ron 죄송합니다. 이전의 모든 세부 사항을 기억하지 못합니다. 해당 버전에 문제가 있다고 생각합니다. 빌드 메뉴에서 다시 빌드하면 파일이 예상대로 지워지지 않았습니다.
bubbassauro


0

내 사건은 다음과 같습니다 : webservice reference lib1.dll. 나중에 더 이상 사용되지 않아 참조를 제거했습니다. 그러나 lib1.dll이 bin 폴더에 남아있었습니다. 라이브러리가 참조되지 않았으므로 재 빌드 및 정리 조치가 도움이되지 않았습니다. bin 폴더에서 lib1.dll 수동으로 삭제 한 후이 메시지를 제거했습니다.


0

IIS에 게시하고 내장 웹 서버 또는 IIS Express를 사용하지 않는 경우 게시 프로필 설정이 디버그 모드인지 확인하십시오. 기본적으로 vs 11에서는 릴리스 모드입니다.


0

추가하기 위해이 블로그에서 내가 직면했던 것과 동일한 문제에 대한 해결책을 찾기 위해 노력하고있었습니다. 불행히도 위에서 언급 한 솔루션은 도움이되지 않았습니다. 마침내 나는 설치 프로그램을 통해 내 비트 (.pdb와 함께)를 설치하고 설치 폴더에 대한 권한을 명시 적으로 설정했다.

파일 브라우저가 올바른 파일을 표시했지만 위에서 언급 한 것과 동일한 오류가 발생했지만 어떤 VS가 pdb를로드 할 수 없었습니다.

"내 코드 만 사용"을 선택 해제하고 설치 프로그램에서 권한 설정을 제거하면 VS가 모듈을로드하기 시작했습니다.


0

나를 위해 일한 구성은 다음과 같습니다.

프로젝트-> (프로젝트) 속성-> 디버그 탭 구성이 활성 (디버그)으로 설정되어 있는지 확인하십시오. "디버거 비활성화"에서 "관리되지 않은 코드 디버깅 활성화"가 선택되어 있는지 확인하십시오.


0

Windows 서비스를 만들고 있는데 여기에 나에게 도움이 된 것이 있습니다.

  • 서비스를 제거하십시오.
  • 명령 프롬프트를 열고 c : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319로 이동하십시오.
  • installutil C : \ MyFantabulusWindowService \ bin \ Debug \ MyFantabulusWindowService.exe

위대함이 달성되었습니다!


0

사례 : SharePoint 개발에서 콘솔 프로젝트를 사용하여 어셈블리 테스트-SharePoint 개발을 수행하고 VS에서이 경고가 표시되는 경우 핵심 SP 프로젝트에 필요한 방법이있는 경우 콘솔 앱을 테스트하기 전에 SP 어셈블리를 GAC에 배포해야합니다. 콘솔 테스트 앱에서 전화하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.