IT

편집하고 계속하기 : "다음 경우에는 변경이 허용되지 않습니다."

lottoking 2020. 8. 19. 18:53
반응형

편집하고 계속하기 : "다음 경우에는 변경이 허용되지 않습니다."


WinForms 프로젝트를 생성하지만 편집 및 계속 작동하지 않고 발생합니다.

디버거가 이미 실행중인 프로세스에 연결되거나 실행중인 코드가 빌드 또는 작동에 최적화 된 경우 변경되지 않습니다.

  1. 도구 → 옵션에서 옵션에서 편집하고 계속하기가 선택되어 있습니다.
  2. 활성화되지 않음.
  3. 하나의 프로파일 관리 러가없는 것 가변합니다.
  4. 디버그 모드에서 실행 중입니다.
  5. x64 CPU 및 Windows XP 32 비트에서 실행 중이지만 플랫폼 대상을 AnyCpu가 아닌 x86으로 설정해도 도움이되지 않습니다.
  6. Visual Studio 설치 복구는 도움이되지 않습니다.

MSDN 웹 사이트에서이 기사찾았 습니다 .

지원되지 않는 시나리오

다음에는 다음 시나리오에서는 편집하고 계속하기를 사용할 수 없습니다.

  • Windows 98에서 발생합니다.

  • 혼합 모드 (기본 / 관리)

  • SQL 기질.

  • Watson 기질 박사.

  • "처리되지 않은 예외에서 호출 스택 해제"옵션이 선택되지 않은 예외 코드 편집

  • 업무 실행 애플리케이션.

  • 디버그 메뉴에서 시작을 사용하여 응용 프로그램을 실행하는 연결 대상으로 응용 프로그램을 대신합니다.

  • 최적화 된 코드.

  • 대상이 64 비트 애플리케이션 인 경우 관리 코드 편집하고 계속하기를 사용 대상을 x86으로 설정해야합니다. (프로젝트 속성, 수준 탭, 고급 컴파일러 설정.)

  • 빌드 오류로 인해 새 버전이 빌드에 실패한 후 이전 버전의 코드가 있습니다.

하지만이 목록의 모든 항목에 "아니오"라고 대답 할 수 있습니다.

이전에는 오래 전에 작동이 중지 중지 그 이유가 무엇인지.


마침내 문제를 해결했습니다 : UNINSTALL Gallio

Gallio는 가장자리가 상당히 많은 것 같으며 MbUnit 3.0을 사용하지 않고 MbUnit 2.0 프레임 워크를 사용하지만 설치 프로그램 (Visual Studio 설치 프로그램)에서 설치하지 않고 실행하는 것이 좋습니다.

Gallio는 "비활성화"한 후에도 문제가 발생했습니다. 설치 제거만으로 문제가 해결되었습니다.

추신. 나이트 코더 편집 :
필자의 경우 TypeMock 아이솔레이터 (모킹 프레임 워크)를 비활성화하면 마침내 도움이되었습니다 ! 이제 편집 및 계속이 작동합니다 !!!

TypeMock 지원의 답변은 다음과 가변합니다.

Microsoft와 대화 한 후 Isolator에서는 편집 및 계속 문제를 더 자세히 살펴보고 있습니다. Isolator는 CLR 약력 러를 구현하며, 연구에 따르면 CLR 약력 러가 활성화되고 연결되면 편집 및 계속이 자동으로 유지됩니다. Isolator의 한계라고하지 않고 있습니다.


적용 가능한 솔루션

다음은 편집 및 계속을 빠르게 수정하려는 경우 시도 할 수 있는 불완전하고 순서가없는 해결 방법 목록입니다.

  • 디버그 모드 에 있는지 확인
  • 혼합 모드 프로세스를 시작하고 있지 않은지 확인하십시오.
  • CPU 대상을 AnyCPU가 아닌 x86으로 설정하십시오 (x64 시스템에서)
  • 프로젝트 속성 -> 디버그 에서 디버그-mode, 대한 코드 최적화 확인란을 선택 취소합니다.
  • 고급 컴파일러 설정 에서 최적화 활성화를 선택 취소 합니다.
  • (ASP.NET) 해당하는 경우 나이트 코더의 답변 확인
  • (ASP.NET) 그럴 경우이 답변을 (행렬로) 확인하십시오.
  • (ASP.NET) 에서 편집하고 계속하기가 활성화되어 있는지 확인합니다 (vs2010).
  • (ASP.NET) 속성> 웹> 서버로 이동하고 Visual Studio 개발 서버 사용 아래 에서 사용 및 계속 이 선택되어 있는지 확인합니다 .
  • (ASP.NET WebAPI) 편집을 시도하기 전에 중단 점을 사용하여 컨트롤러의 방법에서 중지 확인하십시오.
  • 도구> 옵션> 주문> 일반 으로 이동 하여 원본 버전과 정확히 일치하는 소스 파일이 선택 되어 있는지 확인합니다.
  • Microsoft Fakes를 사용하고 있습니까? 편집 및 계속을 금지합니다.
  • 작업 관리자 에서 프로세스 트리 종료 를 선택하여 모든 * .vshost.exe 인스턴스를 종료 합니다. VS는 올바른 인스턴스를 다시 생성합니다.
  • Debug-> Delete All Breakpoints로 모든 중단 점을 제거하십시오.
  • 활성화 및 계속도구> 옵션에 존재하는 메뉴와 프로젝트 설정 . 두 곳 모두 확인하십시오. 확장 Intellitrace 설정에서는 편집하고 계속하기가 지원되지 않습니다.
  • 될 확인 디버그 정보는 에서 프로젝트 속성> 빌드> 고급>을 출력> 정보가 디버그 설정되어 전체
  • 일부 플러그인이 방해가 될 수 있습니다. 제거 / 제거 다음 다른 솔루션을 다시 시도하여 확인하십시오.
  • 주의를 충분히 기울이지 않도록 발생하는 문제를 해결하는 동안 발생하는 오류가 진단하기 더 쉬운 다른 어떤 변경 될 수 있습니다. 예 : 람다 식을 포함하는 방법은 편집 및 계속을 지원할 수 없습니다.
  • 시스템 변수 COR_ENABLE_PROFILING가로 설정되지 않았는지 확인하십시오 1. 일부 프로파일 러는 설치할 때이를 설정하고 제거 후에는 그대로 둡니다. 명령 프롬프트를 열고 다음을 입력 set하여 시스템이 영향을 받는지 빠르게 확인하십시오. 그렇다면 변수를 제거하거나 다음과 같이 설정하십시오 0.

    • Windows 8 이상에서는 시스템 (제어판)을 검색합니다 .
    • 고급 시스템 설정 링크를 클릭합니다 .
    • 환경 변수를 클릭합니다 .
    • 없애다 COR_ENABLE_PROFILING
  • 알고 있어야 지원되지 않는 시나리오 (같은 질문에보고) 및 그 지원되지 않는 편집 .

* '당신'은 해결책을 찾기 위해 키보드로 머리를 두드리는 페이지 방문자를 의미합니다.

다른 팁이 있으면이 답변을 자유롭게 편집하십시오!


ASP.NET 응용 프로그램을 디버깅하는 경우 속성> 웹> 서버로 이동하고 Visual Studio 개발 서버 사용에서 "사용 및 계속"이 선택되어 있는지 확인합니다.


나는 같은 문제가 있었다. VS 2008을 다시 설치했지만 문제가 사라지지 않았습니다. 그러나 모든 중단 점을 삭제하면 작동하기 시작했습니다.

Debug->Delete All Breakpoints

코드에 중단 점이있는 aspx 페이지를 삭제 한 다음 동일한 이름으로 다른 페이지를 만들었 기 때문에 발생했다고 생각합니다. 이것은 아마도 VS 2008을 혼란스럽게 만들었습니다.


"편집 및 계속"을 활성화하면 중단 모드에있을 때만 코드를 편집 할 수 있습니다. 예를 들어 예외로 인해 실행이 일시 중지되거나 중단 점에 도달하여 코드를 편집 할 수 있습니다.

이것은 실행이 일시 중지되지 않으면 코드를 편집 수 없음을 의미합니다 ! 디버깅 (ASP.NET) 웹 프로젝트의 경우 요청간에 변경을 수행하려는 경우가 많기 때문에 매우 직관적이지 않습니다. 현재 (아마도) 디버깅 코드는 실행 중이 아니지만 일시 중지되지 않았습니다!
이 문제를 해결하려면 "모두 중단"을 클릭하거나 Ctrl+ Alt+를 누를 수 있습니다 Break. 또는 어딘가에 (예 : Page_Load이벤트) 중단 점을 설정 한 다음 페이지를 다시로드하여 중단 점에 도달하면 실행이 일시 중지되도록하고 이제 코드를 편집 할 수 있습니다. .cs파일의 코드도 .


확인해야 할 몇 가지 사항

  • 컴파일이 디버그 대 릴리스로 설정되어 있는지 확인하십시오.
  • 혼합 모드 프로세스를 시작하고 있지 않은지 확인하십시오.
  • 64 비트 머신 인 경우 CPU 타겟을 AnyCPU가 아닌 x86으로 설정해야합니다.

편집하다

나는 이것이 중요하다고 생각하지 않지만 호스팅 프로세스가 대상 플랫폼에 대해 활성화되어 있는지 확인하십시오. 아마 도움이되지 않을 것입니다.

새로운 프로젝트를 재현한다면 훨씬 더 미묘한 것일 수 있습니다. 나는 다음을 시도 할 것입니다.

  • HKCU : \ Software \ Wow6432Node \ VisualStudio \ 9.0 백업 (이름을 바꿀 수도 있음)
  • 동일한 키 삭제
  • 재현을 다시 시도하십시오.

ASP.NET 앱에 문제가있는 경우 웹 탭 (vs2010)에서 편집하고 계속 사용하도록 설정했는지 확인합니다. 이전 버전에서는 ASP.NET 디버깅에 대한 별도의 설정도있었습니다.

문안 인사,

아담.


위의 솔루션 중 어느 것도 나를 위해 일하지 않았습니다 (64x 컴퓨터에서 실행 됨).

마지막으로 내가 클릭 'advanced compiler settings'하고 UNCHECKED 'enable optimizations '나는 지금 코드와 편집을 통해 단계를 디버깅 할 수있다.


프로젝트 속성에서 빌드 및 디버그 탭이 디버그로 설정되어 있고 다른 모든 설정이 올바른 경우에도 여전히 메시지가 표시되지만 빌드 메뉴에서 더 많은 정보를 파고 나면 구성 관리자를 선택하고 디버그가 선택되어 있는지 확인합니다. 두 곳에서도 마찬가지입니다. 그림으로 이동 ... 디버그를 설정하려면 몇 개의 다른 장소가 필요합니까 ?????? 프로젝트-구성을 디버그로 설정 한 다음 빌드-관리자에서 변경되지 않았으므로 프로젝트 구성도 동일한 설정을 변경했습니다. 다시 Microsoft 문제처럼 보입니다 .......


이 문제는 Intellitrace 설정 때문입니다.

Intellitrace가 활성화 된 경우 Intellitrace 이벤트 만 선택되어 있는지 확인하십시오.

그렇지 않으면 편집이 허용되지 않고 계속됩니다.

Intellitrace 옵션을 클릭하면 경고가 표시됩니다.


다음 촬영은 VS2010을 사용하는 데 도움이되었습니다.

도구, 옵션, 디버깅, 일반으로 이동하여 "원본 버전과 정확히 일치하는 소스 파일 필요"가 선택 해제되어 있는지 확인하십시오.


저에게는 이해가 안되는 이유로 "고급 컴파일러 설정"의 "디버그 정보 생성"설정이 "전체"대신 "pdb 전용"으로 설정되었습니다.

기본적으로이 매개 변수는 항상 "Full"로 설정되지만 신비한 폴터 가이스트가 지난 밤에이 매개 변수를 변경했습니다. :)

추신 : Visual Studio 2010과 함께 Visual Basic .Net에 있습니다.


Microsoft Visual Studio 2008에서이 문제가 발생했으며 솔루션은 쉽습니다. 프로젝트를 실행할 때 "Release"가 아닌 "Debug"모드로 설정하십시오. 다른 사람 솔루션이 유용 할 수 있습니다.


디버거가 중단 점에 도달하지 않았거나 모두 중단 (일시 중지)을 누르지 않았을 때 발생합니다. 그렇게 간단하지 않을까요?


오류는 가능한 원인이 "디버그되는 코드가 빌드 또는 런타임에 최적화되었습니다"라고 말합니다. 프로젝트 속성-> 디버그로 이동하여 디버그 모드의 코드 최적화 상자를 선택 취소합니다.


새 프로젝트를 생성하면 디버깅 중 편집이 작동하지 않습니다. 새 웹 사이트를 만들면 디버깅 중에 편집이 예상대로 작동합니다.


VS2010 사용에 도움이되는 몇 가지 사항 :

  • 도구, 옵션, 디버깅, 일반으로 이동하여 "원본 버전과 정확히 일치하는 소스 파일 필요"가 선택 해제되어 있는지 확인하십시오.
  • 중지 된 프로세스에서 VS 디버거를 분리하는 등 여러 .vshost.exe 인스턴스가 남을 수 있습니다. 이것은 중단 점과 컴파일도 방해합니다. 작업 관리자의 프로세스 탭을 사용하여 각 인스턴스를 마우스 오른쪽 단추로 클릭하고 프로세스 트리 끝내기를 선택하여 .vshost.exe의 모든 인스턴스를 종료합니다. VS는 새 인스턴스를 만듭니다.

사용하지 않았기 때문에 프로젝트에서 데이터 세트를 제거했습니다. 그 후 디버깅 할 때 프로그램을 수정할 수 있습니다.


나는 다른 모든 답변에서 언급 한 모든 변경을 수행했지만 아무것도 작동하지 않았습니다. 내가 무엇을 배웠습니까? 활성화 및 계속 은 도구> 옵션> 디버깅 메뉴와 프로젝트 설정 모두에 있습니다. 둘 다 확인한 후 Enable and Continue가 나를 위해 일했습니다.


나는 오늘 이것을 만났습니다. 디버그 정보를 pdb 전용으로 설정하면 편집 및 계속이 작동하지 않는 것으로 나타났습니다.

먼저 디버그 정보가 "전체"로 설정되어 있는지 확인하십시오!

프로젝트 속성> 빌드> 고급> 출력> 디버그 정보


나를 위해 일한 것은 아래에서 "관리되는 호환성 모드 사용"을 선택 취소하는 것입니다.

도구-> 옵션-> 디버깅

TBN : "원본 버전과 정확히 일치하는 소스 파일 필요"를 선택하거나 선택 취소해도 E & C에 영향을주지 않는 것 같습니다.

이것이 도움이되기를 바랍니다.


편집을 활성화하고 계속하려면 IIS Express를 실행하십시오. 로컬 ISS 또는 외부 호스트에서 작동하지 마십시오.


제 경우에는 기본 디버거 설정으로 재설정하고 IntelliTrace-> intellytrace 이벤트 만 설정하면 도움이됩니다.


interop 유형 삽입 Visual Studio는 false로 설정해야합니다.


링크 된 클래스 파일에서 이런 일이 발생했습니다. 나머지 프로젝트에서는 E & C를 허용했지만 연결된 파일을 편집하는 동안 동일한 오류가 발생했습니다. 해결책은 연결된 파일을 자체 프로젝트로 나누고 프로젝트를 참조하는 것입니다.


나는 같은 문제에 직면했다. 내 문제는 파일을 수정할 수 있지만 다른 파일은 수정할 수 없다는 것입니다 (둘 다 같은 프로젝트에 있음). 나중에 수정할 수없는 파일도 다른 프로젝트의 일부라는 것을 알게되었습니다. 다른 프로젝트 (단위 테스트)가로드되지 않았고 지능형 VS 디버거가이 주어진 파일에 대한 어셈블리가로드되지 않았고 변경이 허용되지 않는다는 오류를 표시합니다. 얼마나 이상해!

따라서 단위 테스트 프로젝트를 언로드하고 EnC 디버깅을 계속해야했습니다.


웹 양식 프로젝트가 편집되지 않도록하는 솔루션에 데이터베이스 프로젝트가 있습니다.

데이터베이스 프로젝트에서 "언로드"를 클릭하면 모든 것이 멋지게 작동합니다.


VS2017의 경우 솔루션에서 .suo 파일을 제거하는 것이 도움이 될 수 있습니다. :)


Visual Studio 2005에서 동일한 문제에 직면했습니다. 내 구성은 64 비트입니다. VS 솔루션 중 하나에서는 제대로 작동했지만 다른 솔루션에서는 작동하지 않았습니다. 디버그 모드에서 변경하려는 프로젝트에 대해서만 "편집 활성화 및 계속"을 활성화 한 것으로 나타났습니다 . 이것은 시작 프로젝트에 대해 "사용 및 계속"을 선택했을 때 마침내 해결되었습니다 .

활성화 및 계속이 필요한 것 외에는 구성 변경 사항이 없습니다.


비논리적 인 것처럼 보이지만 유일한 방법은 편집을 비활성화하고 VS 2017 옵션에서 계속 ... 그런 다음 AspNet 편집하고 계속 작동하기 시작했습니다 ...

참고 URL : https://stackoverflow.com/questions/1010213/edit-and-continue-changes-are-not-allowed-when

반응형