오류 메시지 "제약 계약 이름과 일치하는 내보내기를 찾을 수 없습니다"


1069

오늘 아침 Visual Studio 솔루션을 여는 동안 문제가 발생하여 실행하려고 할 때 다음과 같이 말했습니다.

구속 조건 계약 이름과 일치하는 내보내기가 없습니다.

이 문제를 어떻게 해결할 수 있습니까?


4
이 성가신 문제에서 벗어나게되어 기쁩니다.
Simon B.Robert

3
아래 답변으로 답변을 게시하지 않아야합니까? 이런 식으로 우리에게 도움이된다면 (투표) ;-)
Kenneth K.

7
왜이 문제가 발생하는지에 대한 아이디어가 있습니까?
patrickvacek

답변:


2160

Visual Studio 구성 요소 모델 캐시를 지워서이 문제를 해결했습니다.

이 폴더를 삭제하거나 이름을 바꾸십시오.

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

또는

%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache

Visual Studio를 다시 시작하십시오.

가지고있는 Visual Studio의 버전은 다음과 같이 숫자로 지정됩니다.

Visual Studio 2012는 11.0(위와 같이)

Visual Studio 2013은 12.0

Visual Studio 2015는 14.0

Visual Studio 2017은 15.0

Visual Studio 2019는 16.0

모르는 사람들을 위해 : %LocalAppData%\와 동일합니다C:\Users\{yourUsername}\AppData\Local

2012 및 2013과 같이 여러 버전의 Visual Studio가 설치되어있는 경우 Visual Studio를 다시 시작하기 전에 두 버전 모두에서 ComponentModelCache를 제거하는 것이 좋습니다 (예 : 11.0 및 12.0).


16
나를 위해 일했지만 VS Desktop Developer의 Express 버전의 경우 캐시 데이터를 ... \ AppData \ Local \ Microsoft \ WDExpress
josiah

4
Microsoft.VisualStudio.Default.cache를 제외한 이러한 파일을 복원 한 다음 내 솔루션을 다시 연 다음 모든 것을 다시 정상으로 되 돌리면 해당 폴더의 모든 파일을 삭제 한 후 내 C ++ 파일 을 열 수 없습니다.
Scott 混合 理论

2
Microsoft.VisualStudio.Default.cache 파일을 삭제하면 문제가 해결되었습니다
Tim Valentine

1
@alexo, .NET 4.5.1 DEV 2012 대에 팩을 설치 한 후 나에게 나타납니다
mt_serg

4
지우기 MEF 구성 요소 캐시 :이 확장 (VS를 다시 시작 포함) 한 번의 클릭으로 당신을 위해이 작업을 자동으로 수행 visualstudiogallery.msdn.microsoft.com/...
kzu

150

전체 폴더의 이름을 바꾸거나 삭제할 필요가 없습니다.

(%AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache)

Microsoft.VisualStudio.Default.cache위의 위치 에서 파일 이름을 바꾸거나 파일을 삭제하십시오 .


이 폴더에서 모두 삭제하면 c ++ 파일을 열 수 없습니다.
Scott 混合 理论

이것은 생명을 구했습니다. 감사합니다 아 난타.
Zakir HC

73

Visual Studio Express 2012에는 다른 경로가 있습니다.

Visual Studio Express

  • ... \ 사용자 \ {사용자} \ AppData \ Local \ Microsoft \ WDExpress \ 11.0 \ ComponentModelCache

Web 용 Visual Studio Express 2012 사용

  • ... \ 사용자 \ {사용자} \ AppData \ Local \ Microsoft \ VWDExpress \ 11.0 \ ComponentModelCache

Visual Studio Express를 다시 설치할 필요가 없었습니다.


37

이것은 실제로 챔피언처럼 작동합니다.

솔루션 : 아래 위치에서 ComponentModelCache 폴더를 삭제하십시오.

[C:]\Users\[your user name]\AppData\Local\Microsoft\VisualStudio\[Visual Studio version number]

삭제에 성공한 후 이름이 "ComponentModelCache"인 폴더를 다시 만드십시오.


이것은 팁에 감사합니다
Arief

28

구성 요소 모델 캐시 삭제가 작동하지 않았습니다 (물론 위의 상대 디렉토리는 컴퓨터에 존재하지 않습니다). 대신 Visual Studio 2012 Express 확장을 설치했습니다 . 메뉴 도구 → * 확장 및 업데이트 ... ** → 온라인원하는 항목 을 선택한 다음 다운로드하십시오. 이것은 캐시를 무효화하여 Visual Studio가 캐시를 다시 작성하게합니다.

여기 내 소스가 있습니다.


1
Visual Studio --EXPRESS--의 위치가 다릅니다. 이 스레드에서 다른 답변을 확인하십시오.
Pure.Krome

제 경우에는 VS2015 커뮤니티에 xamarin 확장을 설치 한 후에 발생했습니다. 모두 제거하면 잘됩니다. 이 답변과 같은 장소에서 제거합니다. 도구> 확장 및 업데이트
Ricardo Figueiredo

28

이 문제는 모든 폴더와 파일을 삭제하거나 지워서 해결할 수 있습니다. %AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

실제로 Visual Studio 구성 요소 모델 캐시가 지워집니다.

Windows 7 시스템에서는 경로가 다릅니다. 사용자가 입력하는 경우 %appdata%실행 대화 상자에서이 폴더를 엽니 다 C:\Users\<username>\AppData\Roaming.

'위'버튼을 클릭하여 상위 폴더로 이동하고 '로컬'폴더를 선택하십시오.

최종 경로 : C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache


20

위해 스튜디오 2012 비주얼 및 이후 버전,이 솔루션은 폴더의 내용을 삭제해야합니다 ComponentModelCache:

C:\Users\[username]\AppData\Local\Microsoft\WDExpress\11.0\ComponentModelCache

Visual Studio 2013

C:\Users\[username]\AppData\Local\Microsoft\VisualStudio\12.0\ComponentModelCache

20

Visual Studio 2013의 경우이 경로에서 해당 폴더를 제거해야합니다.

%AppData%\..\Local\Microsoft\VisualStudio\12.0

1
배터리가 부족하여 vs2013에 대한 다소 큰 xamarin 업데이트를 설치 한 후에이 문제가 발생했습니다. 이 폴더로 이동하여 ComponenetModelCache의 이름을 바꾸고 다시 시작하면 폴더가 다시 만들어지고 수정되었습니다. Ty
Dylan Hayes

또한 나를 위해 또 다른 오류를 위해 일했습니다 :'visual c++ package' failed to load
JTIM

16

Visual Studio 2013 Ultimate를 시작할 때도 같은 문제가 발생했으며 여기의 솔루션이 효과가 없었습니다. 언급 한 폴더를 삭제하고 Visual Studio를 다시 시작하려고 시도했지만 작동하지 않았습니다.

그러나 Microsoft.visual studio 패키지가 올바르게로드되지 않았으며 페이지 '312e8a59-2712-48a1-863e-0ef4e67961fc' 와 같은 다른 문제도 VS 2012를 찾을 수 없습니다 . 후자는 팀 탐색기 창에서 "페이지 'somenumber'을 (를) 찾을 수 없음"이라는 메시지를 나타냅니다.

따라서 devenv /setup관리 권한으로 Visual Studio 명령 프롬프트에서 실행합니다. 그것은 일을했고, 이제 모든 것이 잘되었습니다.


지정된 폴더 (Win 8.1, VS 2013 Prem)를 삭제하고 VS를 닫았다가 다시 열 때마다 계속 돌아 왔습니다. 불행히도 이것은 작동하지 않았습니다.
bdwakefield

1
여러 가지 해결책을 시도한 후에 내 문제를 해결하는 트릭이있었습니다. VS2013에 대한 VS 명령 프롬프트를 찾기가 쉽지 않으므로 여기에 경로가 있습니다. C : \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ Shortcuts
Tarabass

devenv / setup이 VS 2015 Pro의 충돌 문제를 해결했습니다. ComponentModelCache가이를 수정하지 않았습니다.
Zach Green

와우-이것이 작동하지 않을 것으로 예상했지만 그렇게했습니다! VS 2017 커뮤니티 에디션.
scolja

13

ComponentModelCache 폴더 컨텐츠를 제거하십시오 .

 %AppData%..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

11

폴더를 지우는 것이 효과가 없었습니다. 그래서 '프로그램 및 기능'으로 가서 변경 버튼을 사용하여 Visual Studio 2013 설치를 시작했습니다.

설정에서 수리 기능을 선택하면 문제가 해결되었습니다.


9

Windows 8.1의 Visual Studio Express 2013에서 동일한 문제가 발생했습니다.

불행히도 "ComponentModelCache"폴더가 없습니다
% AppData % .. \ Local \ Microsoft \ VisualStudio \ 12.0 \ ComponentModelCache에 .


.. \ Users [사용자 이름] \ AppData \ Local \ Microsoft \ WDExpress \ 12.0 에서 "ComponentModelCache"폴더를 찾았습니다 .

거기 에서이 폴더를 제거 하여이 문제를 해결했습니다.


8

VS 2013을 사용하는 경우 % LOCALAPPDATA % \ Microsoft \ VisualStudio \ 12.0으로 이동 한 다음 ComponentModelCache 폴더의 이름을 바꾸십시오.


% LOCALAPPDATA %의 경우 +1인데, % AppData %를 사용하고 있으며 ComponentModelCache와 같은 폴더를 찾지 못했습니다. 그러나 % LOCALAPPDATA %를 사용하면 얻을 수 있습니다.
Rajshekar Reddy

7

Microsoft (일부 .NET Framework 4.5 위치)에서 일부 업데이트가 릴리스 된 후에도 비슷한 문제가 발생했습니다.

인터넷에서 Microsoft 기술 자료 문서에 대한 다음 링크를 얻었습니다.

Microsoft Visual Studio 2012 용 업데이트 (KB2781514)

그것은 나를 위해 일했다.


1
+1-대단한 발견! 이것은 나를 위해 문제를 해결했습니다. 캐시 파일을 해킹 적으로 삭제하는 대신 합법적 인 솔루션으로 향후에 영향을 줄 수 있습니다.
트래비스 J

이 문제가 VS2015에 여전히 존재한다는 것을 제외하고는 이것이 '합법적 인 해결책'이 아닐 것입니다.
Neil

6

이것은 Windows가 여러 업데이트를 설치 한 후 Visual Studio 2013 Web에서 발생했습니다. 불행히도이 글에서 제안 된 어떤 것도 도움이되지 못했습니다.

설치 프로그램을 다시 실행하고 "복구"옵션을 선택해야했습니다. 그 후 (및 재부팅) 다시 작동했습니다.

경우에 따라 둘 이상의 Visual Studio 버전을 복구해야 할 수도 있습니다. 스크립트 편집을 클릭하면 VS 2013의 스크립트 작업 컨트롤이 VS 2012를 여는 경우를 예로들 수 있습니다.


4

ComponentModelCache 폴더의 이름을 바꾸면 Visual Studio 2015에서 효과가 있었지만 경로가 약간 다릅니다.

%AppData%\..\Local\Microsoft\VisualStudio\14.0\ComponentModelCache

3

Windows 8 (미리보기가 설치된) 두 번째 파티션이있는 Windows 7 x64가 있습니다. Windows Phone 용 Microsoft Visual Studio Express 2012를 사용하는 동안 동일한 문제가 발생합니다. 그러나 ComponentModelCache는 다음에서 찾을 수 있습니다.

C : \ Users \ Jayaram \ AppData \ Local \ Microsoft \ VPDExpress \ 11.0

명령 프롬프트를 사용하려고 할 때 "액세스가 거부되었습니다"라는 메시지가 나타나면 삭제하거나 이름을 바꿀 수 없습니다.

관리자 : VS2012 X64 CrossToolsCommandPrompt


3

이 문제는 MEF 캐시 손상으로 인해 발생합니다. 피드백 확장을 설치하거나 확장을 설치하면 캐시가 무효화되어 VS가이를 다시 빌드하게합니다.

소스를 클릭하십시오.


3

Visual Studio 2012를 사용하고 있습니다. Visual Studio 2013 Web Express를 설치 한 후 Visual Studio 2012에서 프로젝트를 실행하거나 열 때 다음 오류가 표시됩니다.

" 제약 계약 이름과 일치하는 내보내기가 없습니다 . "

또한 ComponentModelCache 를 지우는 위의 솔루션을 시도했지만 폴더를 찾지 못했습니다. Visual Studio 2012 복구를 통해 문제를 해결합니다.

소프트웨어의 Express 버전의 경우 필요한 폴더가 약간 다른 위치에 있습니다. Express 2012 for Web의 경우 C:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpressVisual Studio 폴더가 아닙니다.


1
"프로그램 제거"패널을 통해 언급했듯이 컴퓨터에 설치된 유일한 Visual Studio 인 2013 년에 수리가 이루어졌습니다.
Dave Rael

% AppData %를 사용하여 처음에 폴더를 찾지 못했습니다. 그러나 % LOCALAPPDATA %를 사용하여 폴더를 탐색하고 찾을 수 있습니다
Rajshekar Reddy

빙고 ,,,, 이것은 나를 위해 더 정확한 답변입니다
Rohit Behera

2

파일을 열려고하는 동안 Windows Phone 용 Microsoft Visual Studio Express 2012에서이 문제가 발생했습니다.

그런 다음

C : \ Users \ MyUserName \ AppData \ Local \ Microsoft \ VPDExpress \ 11.0 \ ComponentModelCache

그리고 ComponentModelCache 내부에서 Microsoft.VisualStudio.Default.cache CACHE 파일을 삭제했습니다. 마지막으로 Visual Studio를 다시 시작하고 프로젝트를 다시 열었습니다.

그런 다음 내 문제가 해결되어 파일을 열 수있었습니다.

참고 : 내 OS는 Windows 8이며 Windows Phone 앱 개발을 위해 SDK 8을 설치했습니다.

감사


2

2 년 후 같은 오류 메시지가 표시됩니다. .NET Core dnx와 관련하여 이번에는 다른 문제입니다.

스택 오버플로에 대한 답변을 찾을 수 없지만 해결 방법이 포함 된 GitHub 문제가 있습니다. https://github.com/aspnet/Home/issues/1455

다음은 해결 방법의 가장 중요한 부분입니다.

  • 전체 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNX디렉토리를 삭제하십시오 . (내가 아는 한, 이전 버전의 ASP.NET Core RC1에 속하며 어떤 이유로 든 Visual Studio 2015 Update-3에서도 여전히 제공됩니다).
  • C:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.config파일을 삭제 하십시오.
  • 관리자 권한으로 Visual Studio 2015 개발자 명령 프롬프트를 실행하고 devenv /setup명령을 실행하십시오 . 새로운 devenv.exe.config 파일이 생성됩니다. 이번에는 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\DotNet디렉토리 를 참조하는 많은 어셈블리가 있습니다.
  • Visual Studio 2015를 실행하고 도움말 => Microsoft Visual Studio 정보 메뉴에 Microsoft .NET 핵심 도구 (미리보기 2) 14.1.20624.0이 표시되는지 확인하십시오.

이것을 알아 낸 GitHub의 olegburov 의 게시물에 감사드립니다 .


1

Postsharp 및 Apex와 같은 외부 구성 요소를 제거해야했습니다. 또한 선택한 솔루션을 시도했지만 더 많은 오류가 발생했습니다.


1

폴더를 삭제해도 효과가 없습니다. 제어판으로 이동하여 복구했습니다.

Visual Studio Installer Projects extensions for VS 2013.

그리고 그것은 나를 위해 일했다


0

Visual Studio 2013에서 IntelliJ IDEAReSharper for C #을 다시 설치 한 후이 오류가 발생했습니다 .

먼저 확장 프로그램에 오류가 발생했으며 그 후에이 오류가 발생했습니다.

"제약 계약 이름과 일치하는 내보내기가 없습니다"

ComponentModelCache 폴더를 제거하고이 오류를 해결했습니다.


0

내 2 센트 : 위의 모든 생명을 구하는 요령에 따라 약간 다른 경험이있었습니다. 내 것은 VS 2017 Community Edition이며 한 번 설치 되며이 세 폴더가 모두 있음을 알았습니다.

%LocalAppData%\Microsoft\VisualStudio\15.0 ==> Empty
%LocalAppData%\Microsoft\VisualStudio\7f0c75b0 ==> has only the CoreCon folder

이것은 ComponentModelCache가있는 것입니다.

%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0

Microsoft.VisualStudio.Default.cache 만 삭제해도 효과가 없습니다.

따라서 .cache, .err, .external 및 catalogs의 4 가지 파일을 모두 삭제했습니다. VS를 다시 시작하면 문제가 사라지고 다섯 번째 파일이 나타납니다.

Microsoft.VisualStudio.Default.scan

0

제거 ComponentModelCache가 효과가 없었습니다. 권장 사항 덕분에 VS 2019를 다시 설치 했습니다. Microsoft 지원 스레드 .

세부

  • 이것은 MS에서 들어오는 수정으로 알려진 버그 인 것 같습니다 (1/7/2020 기준)
  • Visual Studio Installer를 사용하여 VS2019 Pro 16.2 (그렇다고 생각하십니까)에서 16.4.2로 업그레이드 한 경험
  • 너겟 콘솔과 너겟 패키지 관리자를 시작하려고 할 때 오류가 표시됨
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.