메타 데이터 파일 '.dll'을 찾을 수 없습니다


722

WPF, C # 3.0 프로젝트를 진행 중이며이 오류가 발생합니다.

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem

이것이 내 usercontrols를 참조하는 방법입니다.

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>

모든 실패한 빌드 후에 발생합니다. 솔루션을 컴파일 할 수있는 유일한 방법은 모든 사용자 컨트롤을 주석 처리하고 프로젝트를 다시 빌드 한 다음 usercontrol의 주석 처리를 제거하고 모든 것이 정상입니다.

빌드 순서 및 종속성 구성을 확인했습니다.

보시다시피 DLL 파일의 절대 경로가 잘린 것 같습니다 ... 길이에 버그가 있음을 읽었습니다. 이것이 가능한 문제입니까?

매우 성가 시며 의견을 말하고, 작성하고, 주석 처리를 제거해야합니다.


5
비슷한 문제 (제목에 표시된 것과 동일한 오류가 발생 함)가 있었고 프로젝트를 정리하고 다시 작성하여 처리했습니다. 다른 프로젝트를 올바르게 참조하기 위해, 나는 전혀 모른다 ..
phoad

이 질문에 허용되는 답변이 있습니까? @Matt_Bro의 것이 꽤 좋은 것으로 나타났습니다.
demongolem 2013

4
나는 대부분의 사람들에게 효과가 있었던 것처럼 Matt의 대답을 표시했지만 이것이 원래의 문제를 해결하지 못했습니다. 여전히 Windows 최대 경로 제한과 관련이 있다고 생각합니다. 아래 답변을 참조하십시오.
Oliver


위의 모든 답변을 시도했지만 불행히도 내 경우에는 아무런 효과가 없었습니다. 2 오류가 발생했습니다. 1. .dll 파일이 없습니다. 2. 동일한 매개 변수를 사용하여 다른 위치에 이미 정의 된 방법 다른 위치에서 중복 된 기능을 제거하여 두 번째 오류를 먼저 해결했습니다. 내 첫 번째 오류-.dll 파일이 누락되어 자체적으로 해결되었습니다. .dll 누락 파일 오류와 함께 단일 오류 이상이 있는지 말하고 싶습니다! 다른 오류를 먼저 해결하십시오. .dll 오류 일 수도 있습니다.
사용자 :

답변:


906

방금 같은 문제가있었습니다. Visual Studio가 참조중인 프로젝트를 작성하지 않습니다.

서면 지침서 :

  1. 솔루션을 마우스 오른쪽 단추로 클릭하고 특성을 클릭하십시오.
  2. 왼쪽에서 구성을 클릭하십시오.
  3. 찾을 수없는 프로젝트에 대한 "빌드"아래의 확인란이 선택되어 있는지 확인하십시오. 이미 선택되어 있으면 선택을 취소하고 적용을 누른 다음 상자를 다시 선택하십시오.
  4. (선택 사항) 솔루션 속성에서 릴리스 및 디버그 모드 모두에 대해 수행해야합니다.

화면 캡처 지침 :

  • 그들은 그림이 천 단어의 가치가 있다고 말합니다. 확대하려면 GIF를 클릭하십시오.

GIF 지침


177
그리고 필자의 경우 확인란을 선택했지만 선택을 취소하고 다시 확인하면 문제가 해결되었습니다.
ngm

13
이로 인해 문제가 해결되었습니다. 솔루션 속성에서 릴리스 및 디버그 모드 모두에 대해 문제를 해결해야했습니다. 감사!
TheJerm

133
Simble uncheck / check가 문제를 해결하지 못 했으므로 다음 단계를 수행해야했습니다.-솔루션 정리-모든 빌드 확인란 선택 취소-VS 다시 시작-모든 빌드 확인란 확인-솔루션 빌드
frankie

27
다른 방법은 각 프로젝트 종속성을 확인하는 것입니다. 어떤 이유로 든 자동으로 설정하지 않았습니다. 솔루션 특성-> 공통 특성-> 프로젝트 종속성.
Anicho

9
체크 해제-> 확인이 잠시 동안 작동하여 문제가 반환되었습니다. 그런 다음 Visual Studio를 다시 시작했는데 문제가 해결되었습니다.
DeveloperDan

224

이것은 여전히 ​​최신 버전의 Visual Studio에서 발생할 수 있습니다 (Visual Studio 2013에서 방금 발생했습니다).

또 다른 시도는 Visual Studio를 닫고 .suo파일 옆에있는 .sln파일 을 삭제하는 것입니다 . (다음에 Save allVisual Studio를 종료 할 때 다시 생성됩니다 ).

다른 컴퓨터의 솔루션에 새 프로젝트를 추가 한 다음 개정을 가져올 때이 문제가 발생했지만 .suo다른 경우에도 파일이 손상되어 매우 이상한 Visual Studio 동작이 발생할 수 있으므로 삭제하는 중 하나입니다. 내가 항상 시도하는 것들.

.suo파일 을 삭제 하면 솔루션의 시작 프로젝트가 재설정됩니다.

.suo파일 에 대한 자세한 내용 은 여기에 있습니다 .


24
이것은 나를 위해 문제를 해결했습니다. 또한 언급 할 가치가있는 것은 .suo파일이 숨겨져 있다는 것입니다. 따라서 숨겨진 파일을 표시하도록 탐색기를 설정해야합니다.
George Howarth

6
Xamarin 프로젝트로 작업 중이며 .suo 파일은 .vs / 폴더에 있습니다. 삭제를 시도했는데 문제가 해결되지 않았습니다.

VS2013-TFS 작업 영역을 다른 위치로 이동해야했습니다. 이 작업을 완료 한 후이 오류가 발생하기 시작했습니다. sou 파일을 삭제하면 나에게 도움이되었습니다.
Vin

40
이것은 나에게도 효과가있었습니다. 그러나 Visual Studio 2015에서 .suo파일은 숨겨져 있으며 . .vs옆의 숨겨진 디렉토리에 있습니다 .sln. 예 : 솔루션 파일 c:\foo\mysolution.sln을 찾으면c:\foo\mysolution\.vs\mysolution\v14\.suo
Wyck

6
VS2017의 경우 단순화를 위해 파일을 삭제 한 .vs숨겨진 폴더를 삭제했습니다 .suo. 솔루션을 다시 열고 관련없는 오류를 하나 더 수정하여 문제가 해결되었습니다.
user3613932

183

제안 된 답변이 효과가 없었습니다. 오류는 다른 문제에 대한 미끼입니다.

나는 약간 다른 버전의 .NET을 대상으로한다는 것을 알았으며 컴파일러에 의해 경고로 표시되었지만 빌드가 실패했습니다. 이것은 경고가 아니라 오류로 표시되어야합니다.


9
프로젝트> 속성> 응용 프로그램> 대상 프레임 워크를 마우스 오른쪽 버튼으로 클릭하여 프로젝트의 프레임 워크를 경고 메시지에 표시된 상위 버전과 일치시켜 수정할 수있었습니다.
StronglyTyped

1
vs2015를 사용하여 나에게도 동일합니다.
bruno.bologna 2016 년

네. 정확히 나도 나에게 일어났다. VS 2015
KevinDeus

감사! 이것은 내 문제를 해결했습니다. 프로젝트를 .Net Framework 4.7.1로 업그레이드 한 후 VS 2015
DHoover

와우, 이것은 나를 위해 그것을 고쳤다. 새 프로젝트가 다른 .net 버전을 대상으로하고있었습니다. vs2017에서도 이것에 대한 점검이 없다고 믿을 수 없습니다.
Douglas Gaskell

104

글쎄, 내 대답은 모든 솔루션의 요약 일뿐 만 아니라 그 이상을 제공합니다.

섹션 1):

일반적인 해결책 :

이 종류의 오류 ( '메타 데이터 파일을 찾을 수 없음')와 '소스 파일을 열 수 없습니다 ('지정되지 않은 오류 ')'라는 오류 하나가 있습니다.

'메타 데이터 파일을 찾을 수 없습니다'오류를 제거하려고했습니다. 이를 위해 많은 게시물, 블로그 등을 읽었으며 이러한 솔루션이 효과적 일 수 있음을 알았습니다 (여기에서 요약).

  1. Visual Studio를 다시 시작하고 다시 빌드하십시오.

  2. '솔루션 탐색기'로 이동하십시오 . 솔루션을 마우스 오른쪽 버튼으로 클릭하십시오. 속성으로 이동하십시오 . '구성 관리자'로 이동하십시오 . '빌드' 아래의 확인란이 선택되어 있는지 확인하십시오 . 일부 또는 전부가 선택 해제 된 경우 점검 한 후 다시 빌드하십시오.

  3. 위의 해결 방법으로 문제가 해결되지 않으면 위의 2 단계에서 언급 한 순서를 따르십시오. 모든 확인란이 선택되어 있어도 선택을 해제하고 다시 확인한 후 다시 빌드하십시오.

  4. 주문 및 프로젝트 종속성 빌드 :

    '솔루션 탐색기'로 이동하십시오 . 솔루션을 마우스 오른쪽 버튼으로 클릭하십시오. 이동 '... 프로젝트 종속성' . 'Dependencies''Build Order' 탭이 표시됩니다 . 이 빌드 순서는 솔루션이 빌드되는 순서입니다. 프로젝트 종속성 및 빌드 순서를 확인하여 다른 프로젝트 (예 : 'project2')에 종속 된 일부 프로젝트 (예 : 'project1')가 해당 프로젝트 (project2)보다 먼저 빌드하려고하는지 확인하십시오. 이것은 오류의 원인 일 수 있습니다.

  5. 누락 된 .dll의 경로를 확인하십시오.

    누락 된 .dll의 경로를 확인하십시오. 경로에 공백 또는 유효하지 않은 다른 경로 문자가 포함 된 경우 경로를 제거한 후 다시 빌드하십시오.

    이것이 원인이면 빌드 순서를 조정하십시오.


섹션 2):

내 특별한 경우 :

Visual Studio를 몇 번 다시 시작하여 다양한 순열과 조합으로 위의 모든 단계를 시도했습니다. 그러나 그것은 도움이되지 않았습니다.

그래서, 내가 겪고있는 다른 오류 ( '소스 파일을 열 수 없습니다 ('지정되지 않은 오류 ')')를 제거하기로 결정했습니다.

블로그 게시물을 보았습니다 : TFS 오류 – 소스 파일을 열 수 없습니다 ( '지정되지 않은 오류')

해당 블로그 게시물에 언급 된 단계를 시도한 결과 '소스 파일을 열 수 없습니다 ('지정되지 않은 오류 ')'오류 가 제거되었으며 놀랍게도 다른 오류 ( '메타 데이터 파일을 찾을 수 없음')를 제거 했습니다. 잘.


섹션 (3) :

이야기의 교훈:

오류를 제거하려면 위의 (1) 섹션에 언급 된 모든 솔루션 (및 기타 솔루션)을 시도하십시오. 위의 (2) 섹션에 언급 된 블로그에 따라 아무것도 작동 하지 않으면 .csproj 파일에서 소스 제어 및 파일 시스템에 더 이상 존재하지 않는 모든 소스 파일의 항목을 삭제하십시오 .


4
내 문제는 주문 빌드 / 프로젝트 종속성이었습니다. 다른 프로젝트에서 참조를 제거하고 다시 추가하면이 문제가 해결되지만 직접 해결할 수도 있습니다.
Nacht-복직 모니카

4
.NET v4.5프로젝트를 로 다운 그레이드 하여이 문제에 직면 했습니다 .NET v.4.
guneysus

1
참조 된 dll 경로에서 "%"를 제거하면 도움이되었습니다.
Boogier

1
섹션 2의 솔루션이 저에게 효과적이었습니다! 나는 또 다른 오류가 있었고 다른 사람들이 마술처럼 사라지는 것을 고쳤습니다.
Martin Johansson

1
Boogier와 같은 문제가있었습니다. 공백 대신 폴더 이름에 % 20이 있고 dll이 공백을 찾고있었습니다. 실제 수정이 가장 단순한 다른 수정 프로그램을 시도하는 데 너무 많은 시간을 보냈습니다.
Lenny K

38

제 경우에는 .NET Framework 버전 불일치로 인해 발생했습니다.

하나의 프로젝트는 3.5이고 다른 하나는 참조 프로젝트입니다. 4.6.1.


2
이것은 4.5.2 V 사이에서도 발생합니다. 4.6
AzzamAziz

2
실제로, 나는 4.6.1 중 하나를 가지고 있었고 나머지는 4.5.2였습니다. 감사합니다!
메이슨

7
예, 프레임 워크 버전이 다를 때마다 이런 일이 발생합니다. 중대한 오류 Microsoft!
Eric Schneider

예! 내 프로젝트가 .Net 4.6.1 일 때 .Net 4.7.1 .dll을 사용하려고했습니다. 경고는 다른 항목에 의해 숨겨졌지만 오류는 없습니다. 내 실수는 붉은 청어였다
Esaith

29

Visual Studio 2013을 닫았다가 다시 열면 나에게 도움이되었습니다!


자식 변경 사항을 프로젝트 파일로 되 돌린 후에이 문제가 발생했습니다. VS2015를 다시 시작하고 문제를 해결
Ludovic C

허용되는 답변으로 표시해야합니다. 확인란을 선택 / 선택 취소하면 시간이 더 걸립니다.
Alex

1
그래도, 덕분에 VS2019이 문제가이 나를 위해 그것을 고정
pcdev

20

글쎄, 이전 답변에서 아무것도 효과가 없었으므로 개발자로서 우리가 실제로 무슨 일이 일어나고 있는지 이해하려고 노력할 때 클릭하고 바라고있는 이유에 대해 생각하게되었습니다.

이 잘못된 메타 데이터 파일 참조가 어딘가에 있어야한다는 것이 분명했습니다.

.csproj 파일을 빠르게 검색하면 유죄 선이 표시됩니다. 오래된 잘못된 파일 경로에 매달려있는 것처럼 보이는 <itemGroup>이라는 섹션이 있습니다.

<ItemGroup>
    <ProjectReference Include="..\..\..\MySiteOld\MySite.Entities\MySite.Entities.csproj">
        <Project>{5b0a347e-cd9a-4746-a3b6-99d6d010a6c2}</Project>
        <Name>Beeyp.Entities</Name>
    </ProjectReference>
...

그래서 간단한 수정은 실제로 :

  1. .csproj 파일을 백업하십시오.
  2. .csproj 파일에서 잘못된 경로를 찾아서 적절하게 이름을 바꾸십시오.

제발 당신이 바이올린하기 전에 반드시 백업 이전 .csproj합니다 .


38
당신이
무엇이든하기

14

나는 또한이 문제를 만났다. 먼저 빌드를 마우스 오른쪽 단추로 클릭하여 DLL 프로젝트를 수동으로 빌드해야합니다. 그런 다음 작동합니다.


14
이 수정 프로그램이 작동하는 동안 실제로 문제를 수정하지는 않으며보다 근본적인 문제가 발생할 수 있습니다. 우선, 저장소에서 코드로 작업하는 경우 새로운 개발자가 코드를 빌드 할 지점으로 코드를 가져 오도록 요구하는 것은 좋지 않습니다. 둘째, 참조 된 프로젝트의 변경 사항을 보려면 매번 수동으로 다시 작성해야합니다. 문제에 대한 더 강력한 해결책은 내 답변을 참조하십시오.
Matt_Bro

제 경우에는 프로젝트를 개별적으로 빌드하지 않아도 동일한 오류가 발생합니다. 내 프로젝트 이름이 "proj1"이라고 말하면 (수동으로 말한대로) 나에게 줄 것입니다 Metadata file ...proj1.dll could not be found!
A-Sharabiani

14

제 경우에는 실수로 설치된 디렉토리가 있습니다.

솔루션 경로가 "My Project % 2c Very Popular % 2c Unit Testing % 2c Software and Hardware.zip"과 같은 경우 메타 데이터 파일을 해결할 수 없습니다. 아마도 % 2c와 같은 일부 잘못된 단어를 막아야합니다.

경로를 일반 이름으로 바꾸면 문제가 해결되었습니다.


1
제공하는 솔루션에 대한 설명을 조금 더 추가하여 답변을 더 자세히 설명해 주시겠습니까?
abarisone

내 자식 복제본이 폴더 경로에 %를 추가하여 문제를 해결했습니다.
Erik Bergstedt

@abarisone 경로에서 "% 2c"문자열을 제거한 다음 작동했습니다
masphei

1
프로젝트를 복제 할 때 간단한 공간 대신 ​​"% 20"을 사용하여 이름을 지정했습니다. 감사합니다 @abarisone, 귀하의 접근 방식으로 문제를 해결했습니다.
MA Cordeiro

TFS에서 프로젝트를 복제했을 때 어떤 이유로 든 % 20도 추가했습니다. 삭제하면 문제가 해결되었습니다.
Selthien

13

동일한 오류 "Metadata 파일 '.dll'을 찾을 수 없습니다"라는 오류가 발생하여 위에서 설명한 여러 가지를 시도했지만 오류의 원인은 .NET 버전을 대상으로하는 타사 DLL 파일을 참조했기 때문입니다. 내 프로젝트 대상 .NET 버전입니다. 해결책은 내 프로젝트의 대상 프레임 워크를 변경하는 것이 었습니다.


글쎄, 나는 .Net 4.5.x를 대상으로하는 새로운 프로젝트를 추가하고 똑같이 대답하려고했는데, 그 프로젝트에서 .Net 4.6을 사용하는 프로젝트에 대한 참조를 추가했을 때 발생하기 시작했습니다.
Juan

11

Visual Studio 2019는 이것이 나를 위해 일했습니다.

  1. Visual Studio 닫기
  2. 숨겨진 .vs폴더를 삭제
  3. Visual Studio를 다시 열고 솔루션을 다시 빌드하십시오.

대단히 감사합니다. 실패한 빌드를 한 번 더 한 후에도 저에게 효과적이었습니다.
Iamsodarncool

고마워요.
iaacp

10

나를 위해 프로젝트를 포함하는 경로에서 DLL을 찾으려고했지만 새 디렉토리로 옮겼습니다. 솔루션에는 프로젝트의 올바른 경로가 있었지만 Visual Studio는 어떻게 든 오래된 위치를 계속 찾고있었습니다.

솔루션 : 각 문제의 이름을 바꾸십시오. 프로젝트는 문자 나 다른 것을 추가 한 다음 원래 이름으로 다시 이름을 바꾸십시오.

이렇게하면 Visual Studio에서 일종의 전역 캐시를 재설정해야합니다.이 문제는이 문제와 비슷한 문제를 모두 해결하지만 Clean과 같은 것은 그렇지 않기 때문입니다.


10

내 솔루션에 새 프로젝트를 추가하고 이것을 얻기 시작했습니다.

이유? 내가 가져온 프로젝트는 다른 .NET 프레임 워크 (4.6과 다른 두 개는 4.5.2)를 대상으로했습니다.


1
나는 지금 왜 그런지 모르겠지만 나는 그런 프로젝트를 1 년 동안 운영하고있었습니다. 내 하위 프로젝트는 4.6.1이고 주 프로젝트는 4.5.2입니다. 아무런 문제없이 작동했습니다. 갑자기이 오류가 발생하지만 4.6.1에있는 기능이 있기 때문에 하위 프로젝트를 다운 그레이드하고 싶지 않습니다. 문제가 있다고 생각하지 않습니다. 마이크로 소프트는 여전히 작동되어야 설명
batmaci

TLDR : 컴파일 경고를 확인하십시오. 이것은 나에게 일어난 일이지만 비틀어졌습니다. projs는 4.5.2였습니다. 4.6에 새로운 프로젝트가 추가되었습니다. 4.6 프로젝트에 너겟 패키지를 설치했습니다. 4.6 프로젝트를 4.5.2로 다운 그레이드했습니다. 너겟은 4.6을 기대했다. 너겟의 다운 그레이드가 해결되었습니다.
w00ngy

9

나를 위해 솔루션에 새 프로젝트를 포함시킬 때 발생했습니다.

Visual Studio는 .NET Framework 4.5를 자동으로 선택합니다.

다른 라이브러리와 마찬가지로 버전 .NET 4.5.2로 변경하여 작동했습니다.


8

나를 위해 다음 단계가 효과적이었습니다.

  • 구축하고 있지 않은 프로젝트 찾기
  • 솔루션 내 프로젝트에 대한 참조를 제거 / 추가하십시오.

솔루션 탐색기에서 "사용하지 않은 참조 제거"참조 "폴더"를 마우스 오른쪽 단추로 클릭하십시오. 나는이 솔루션에 내 모든 프로젝트에 이런 짓을, 그것은 트릭했다
마티유 VIALES

8

나는이 문제로 머리카락을 뽑았지만 이전 답변을 시도한 후에 나에게 도움이 된 유일한 것은 솔루션 1에서 각 프로젝트를 하나씩 열고 개별적으로 빌드하는 것이 었습니다.

그런 다음 Visual Studio 2013을 닫고 솔루션을 다시 열었고 정상적으로 컴파일되었습니다.

솔루션 탐색기에서 각 프로젝트를 클릭하고 그런 식으로 빌드하려고하면 모두 실패했기 때문에 이상합니다. 나는 그들 자신의 해결책으로 그것들을 혼자 열어야했습니다.


1
어이. Microsoft가 다시 시작해야 할 일이 너무 많습니다.
Yatrix

8

Visual Studio가 오류에 대한 올바른 정보를 제공하지 않는다는 사실과 관련된 오류와 같습니다. 개발자는 빌드 실패 이유를 이해하지 못합니다. 구문 오류이거나 다른 것일 수 있습니다. 일반적으로 이러한 문제점을 해결하려면 문제점의 근본을 찾아야합니다 (예 : 빌드 로그를보십시오).

필자의 경우 문제는 실제로 Error List창에 오류가 표시되지 않았다는 것입니다. 그러나 실제로 구문 오류가있었습니다. Output창 에서 이러한 오류를 발견 하고 수정 한 후 문제가 해결되었습니다.


나는이 문제도 경험했다. 오류 목록에는 오류가 없었지만 DevOps에서 실패한 빌드 결과가 오류를 표시했습니다
amartin

7

내 문제의 인스턴스는 클래스 이름이 다른 공통 프로젝트 (다른 ​​파일 이름 아래)로 인해 발생했습니다. Visual Studio가이를 감지하지 못하고 대신 빌드 프로세스를 중단 한 것은 이상합니다.


이것은 의견, 답변 또는 새로운 질문입니까? 또한 OP는 2009 년부터 시작됩니다
gmo

8
동일한 문제에 대한 추가 솔루션입니다. OP가 오래되었다는 것을 알고 있지만 마지막 몇 개의 게시물을 기반으로 사람들은 여전히 ​​다른 원인을 찾고 있습니다. 다른 솔루션 중 어느 것도 나를 위해 일하지 않았기 때문에 다음 사람에게 약간의 좌절감을 구하려고했습니다.
Eric

4
나는 다른 사람의 반응을 비판하지 않고 동일한 증상에 대한 대체 솔루션을 제공합니다.
Eric

7

Visual Studio 2012에서 많은 프로젝트가있는 솔루션 에서이 문제가 발생했습니다. 프로젝트 빌드 순서 (솔루션 탐색기에서 마우스 오른쪽 단추를 클릭하고 다시 빌드)와 동일한 순서로 솔루션의 각 프로젝트를 수동으로 다시 빌드하면 문제가 해결되었습니다.

결국 나는 컴파일 오류를 낸 것에 도착했다. 오류를 수정하면 그 후에 솔루션이 올바르게 빌드됩니다.


필자의 경우 Visual Studio 2015를 관리자 모드에서 열 때까지 오류가 숨겨졌습니다. 그런 다음에 만 컴파일 오류가 표시되었습니다. 그 문제를 해결 한 후에도 계속할 수있었습니다.
SL Barth-복원 모니카

6

필자의 경우 문제는 "누락"으로 표시된 비 컴파일 파일을 수동으로 삭제했다는 것입니다. 이제 누락 된 파일에 대한 참조를 삭제하고 다시 컴파일하면 모든 것이 잘되었습니다.


6

솔루션 이름에 공백이 있으면 이로 인해 문제가 발생할 수도 있습니다. 솔루션 이름에서 공백을 제거하면 경로에 % 20이 포함되어 있지 않습니다.


당신은 천재입니다!
Itamar

나는 그것을 알아 채기 전에 당신의 의견을 보지 못했습니다. 그러나 이것은 내 문제였습니다.
L Johnson


6

제 경우에는 간단한 빌드 오류로 인해 문제가 발생했습니다.

오류 CS0067 : 'XYZ'이벤트가 사용되지 않습니다

어떤 이유로 든 오류 창에 표시되지 않았습니다.

이 때문에 Visual Studio 빌드 시스템은 오류를 놓치고 종속 프로젝트를 빌드하려고 시도했지만 성가신 메타 데이터 메시지로 실패했습니다.

권장 사항은 다음과 같이 멍청합니다.

먼저 출력 창을 보십시오!

이 아이디어가 저를 때리기까지 30 분이 걸렸습니다.


나는 모든 사람 이이 대답을 봐야한다고 생각합니다. 빌드 출력 창에서 오류 또는 경고가 있는지 확인한 후 수정하십시오. 문제 해결됨. 답변 해 주셔서 감사합니다. Heinz Kessler
Captain America

5

나도 같은 오류가 있었다. 아래 경로와 같이 숨 깁니다. DLL 파일에 대해 언급 한 경로는 "D : \ Assemblies Folder \ Assembly1.dll"과 같습니다.

그러나 어셈블리가 참조한 원래 경로는 "D : \ Assemblies % 20Folder \ Assembly1.dll"입니다.

이 경로 이름 변형으로 인해 어셈블리를 원래 경로에서 검색 할 수 없으므로 "메타 데이터를 찾을 수 없음"오류가 발생합니다.

해결책은 스택 오버플로 질문 입니다 .C #에서 모든 공백을 % 20으로 바꾸려면 어떻게해야합니까? .


5

나는 같은 문제에 직면했다. 필자의 경우 프로젝트보다 .Net 버전 이 높은 클래스 라이브러리 프로젝트를 참조 했으며 VS가 프로젝트를 빌드하지 못하고 게시 한 것과 동일한 오류가 발생했습니다.

단순히 설정 닷넷 버전 내 클래스 라이브러리 프로젝트 해결 참조 프로젝트와 문제의 닷넷 버전과 동일 (빌드를 파괴 한 것)의합니다.


1
이!!! 위의 답변이 좋았지 만 이것은 내가 완전히 간과 한 것입니다. 감사합니다
Rhys Johns

@RhysJohns happy coding :)))
Code_Worm

4

명백하게 명백한 점을 지적하십시오. "빌드가 시작될 때 출력 창 표시"가 활성화되어 있지 않으면 빌드에 실패했는지 (왼쪽 하단에 작은 "빌드 실패"오류) 있는지 확인하십시오 !!!!


최근에 비슷한 오류가 발생했습니다. 오류 로그에 파란색, 수백 개의 cs0006 오류가 있지만 다른 것은 없습니다 (매우 훌륭한 빗으로 빗질했습니다). 결국 (!) 출력 창을보고 생각하고 컴파일러 오류 가보고되었으며 코드에서 오류가 빨간색으로 바뀌 었습니다. 오류가 오류 창에보고되지 않은 이유를 모르겠습니다. VS2017 엔터프라이즈.
haughtonomous

4

웹 응용 프로그램을 게시하려고 할 때이 오류가 발생했습니다. 클래스 속성 중 하나가

#if DEBUG
    public int SomeProperty { get; set; }
#endif

그러나 재산 사용은 아니었다. 공개는 DEBUG심볼 없이 릴리스 구성에서 수행되었습니다 .


4

오류 메시지에 따라 파일 경로가 잘리지 않는다고 생각합니다. 잘못된 것 같습니다. 메시지를 올바르게 읽으면 DLL 파일을 찾고있는 것 같습니다 ...

WORK =-\ Tools \ VersionManagementSystem \ BusinessLogicLayer \ bin \ Debug \ BusinessLogicLayer.dll

유효한 경로가 아닙니다. 빌드 프로세스에서 매크로 정의가 유효하지 않은 값으로 설정되었을 수 있습니까?


아무것도 변경하지 않았고 사용자 지정 빌드 이벤트 또는 구성이없는 방법을 모르겠습니다
Oliver

4

.nuget\NuGet.exe내 저장소에 포함되지 않았기 때문에이 문제가 발생했습니다 . DownloadNuGetExeNuGet.targets를 사용하도록 설정했지만 다운로드하려고 할 때 프록시 오류가보고되었습니다. 이로 인해 나머지 프로젝트 빌드가 실패했습니다.


4

가짜 어셈블리를 사용하는 경우이 오류가 표시 될 수 있습니다. 가짜를 제거하면 프로젝트가 성공적으로 빌드됩니다.


"가짜 조립"이란 무엇입니까? 정교하게 할 수 있습니까? (답을 넓혀 응답하십시오.)
Peter Mortensen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.