[visual-studio] “Visual Studio에서 메타 데이터 파일 ‘… \ Release \ project.dll’을 찾을 수 없습니다”오류

최근 에이 메시지를 무작위로 받기 시작했습니다.

Visual Studio에서 메타 데이터 파일 ‘… \ Release \ project.dll’을 찾을 수 없습니다

여러 프로젝트가 포함 된 솔루션이 있습니다. 현재 빌드 모드는 디버그이며 모든 프로젝트 구성은 디버그로 설정되어 있습니다. 그러나 주요 프로젝트를 실행하려고 할 때-때로는 몇 가지 오류가 발생합니다. 모든 메타 데이터 파일 ‘… \ Release \ projectX.dll’을 찾을 수 없습니다 ‘입니다. 폴더이지만 현재 모드는 디버그입니다. 왜? 모든 솔루션 파일에서 “Release \ projectX.dll”에 대한 참조를 검색하려고했는데 ResolveAssemblyReference.cache 파일에서 하나를 찾았습니다.

나는 인터넷을 통해 좋은 검색을했으며 비슷한 문제를 가진 몇몇 사람들을 찾았지만 해결책이 없거나 최소한 해결책이 없었습니다.

그 프로젝트에 대한 참조를 삭제하고 읽으려고했지만 언젠가 이러한 오류가 다시 발생하기 시작합니다.

버그 인 것 같습니다. 항상 디버그 모드를 사용할 때 릴리스 폴더에서 참조 된 프로젝트를 검색하는 이유는 무엇입니까?

추신. 이 문제를 만난 사람들을 위해 : 나는 쉽게 해결할 수 없었습니다. Windows를 다시 설치 한 후에 만 ​​사라졌습니다.



답변

모두가 정확합니다 … 모든 것을 시도하십시오 … (약간에서 많은 시간을 낭비하는 순서로)

  1. 잘못된 코드가 있습니까? 먼저 수정하십시오.
  2. 솔루션 정리 및 Visual Studio 다시 시작
  3. 참조 제거 / 추가
  4. 더 큰 프로젝트로 빌드 순서를 확인하고 확인하십시오.
  5. 하위 프로젝트 수동 재 구축
  6. 프로젝트 간 dll을 관련 bin 폴더에 수동으로 복사
  7. 가서 커피를 마시고, 핀볼을하고, 내일 다시 오세요 ​​… 그 동안 다른 것을 생각할 수도 있습니다.

답변

나는 똑같은 문제가 있었다. 50 개 이상의 프로젝트가 포함 된 큰 비주얼 스튜디오 솔루션.

모든 참조는 프로젝트로 추가되었습니다. 프로젝트 빌드 순서가 정확했습니다 (프로젝트를 마우스 오른쪽 버튼으로 클릭하고 빌드 순서를 선택하십시오).

그러나 더 높은 수준의 프로젝트를 만들 때 그들이 사용했던 “루트”프로젝트는 빌드되지 않았습니다.

문제는 이러한 프로젝트가 현재 구성에서 빌드되도록 선택되지 않았다는 것입니다 (이 방법을 모름).

이를 확인하려면 “구성 관리자”(빌드 메뉴)를 선택하십시오. e 문제가있는 프로젝트가 빌드되도록 설정되어 있는지 확인하십시오.


답변

해당 프로젝트에 대한 참조를 삭제하고 다시 추가했다고 말하면 정확히 어떻게 다시 추가 했습니까? Visual Studio의 “참조 추가”대화 상자에서 “찾아보기”탭을 사용 했습니까? 또는 “프로젝트”탭을 사용 했습니까 (솔루션의 주변 프로젝트가 나열되어 있습니까)?

편집 : “찾아보기”탭을 사용하고 / Release 폴더에있는 .dll에 대한 참조를 수동으로 추가하면 Visual Studio는 사용자가 어떤 모드에 관계없이 항상 해당 위치에서 .dll을 찾습니다. 현재 (디버그 또는 릴리스)

Release 폴더에서 실제 .dll 파일을 수동으로 제거하거나 “Clean Solution”을 수행하여 .dll 파일을 제거한 경우 .dll이 없기 때문에 참조가 중단됩니다.

ProjectX.dll에 대한 참조를 제거하고 다시 추가하는 것이 좋습니다. 이번에는 “참조 추가”대화 상자의 “프로젝트”탭을 사용하십시오. 이 방법으로 참조를 추가하면 Visual Studio는 적절한 .dll을 얻을 수있는 위치를 알고 있습니다. 디버그 모드 인 경우 / Debug 폴더에서 가져옵니다. 릴리스 모드 인 경우 / Release 폴더 빌드 오류가 사라지고 디버그 모드에서 더 이상 Release .dll을 참조하지 않습니다.


답변

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

섹션 1):

일반적인 해결책 :

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

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

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

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

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

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

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

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

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

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


섹션 2):

내 특별한 경우 :

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

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

나는 블로그를 발견했다 :
http://www.anujvarma.com/tfs-errorsource-file-could-not-be-opened-unspecified-error/#comment-1539

나는 그 블로그에서 언급 한 단계를 시도하고 ‘소스 파일을 열 수 없습니다 (‘지정되지 않은 오류 ‘)’오류를 제거했으며 놀랍게도 다른 오류 ( ‘메타 데이터 파일을 찾을 수 없음’) 도 제거했습니다.


섹션 (3) :

이야기의 교훈:

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



답변

전에이 문제가 있었고이를 해결하는 유일한 방법은 Clean Solution을 실행 한 다음 Visual Studio를 다시 시작하는 것입니다.


답변

나를 위해 일반적으로 대상 프레임 워크가 꺼져 있습니다 (4.6 대신 4.5.2) 솔루션의 대상 프레임 워크와 일치하도록 프로젝트의 대상 프레임 워크를 수정하고 빌드하면 새 .dll이 만들어집니다.


답변

Visual Studio를 관리자로 다시 엽니 다.