"유형 또는 네임 스페이스 이름을 찾을 수 없습니다"라는 메시지가 표시되지만 모든 것이 정상으로 보입니까?


276

나는 얻는다 :

유형 또는 네임 스페이스 이름을 찾을 수 없습니다

VS2010의 C # WPF 앱에 오류가 발생했습니다. 이 코드 영역은 제대로 컴파일되었지만 갑자기이 오류가 발생합니다. usingVS2010을 종료하고 다시 시작 하면서 프로젝트 참조 및 명령문을 제거하려고 시도 했지만 여전히이 문제가 있습니다.

내가 왜 올바른 일을하는 것처럼 보이는 곳에서 이것이 일어날 수있는 아이디어가 using있습니까?

또한 VS2010에서 해당 네임 스페이스에 대한 인텔리전스가 정상적으로 작동한다는 것을 지적 했으므로 VS2010에는 프로젝트 참조가 있고 네임 스페이스가 표시되는 것처럼 보이지만 컴파일 중에는 보이지 않습니다.


Visual Studio를 닫았다가 다시 시작해야 할 수 있습니다. 때로는 "고착"된 것 같습니다
Ris Adams

2
지침 : 1) 어셈블리로드?, 2) 오리진 어셈블리와 일치하는 어셈블리로드?, 3) 유효한 참조를 가리키는 "사용"지시어?, 4) .csproj 매니페스트에 잘못된 소스가 포함되어 있습니까?, 5) 정규식을 찾는 검색 도구 전체 솔루션 (모든 클래스 라이브러리 및 프로젝트). 5) net framework version 빌드 옵션에 대한 프로젝트 설정을 확인하십시오 (팀에서 공동 작업하면 이러한 종류의 문제가 발생합니다. net framew. 양면의 빌드 버전에 동의해야합니다) 6) 그런 다음 각각을 정리하고 빌드하고 마지막으로 모든 참조를 포함하십시오 대상 프로젝트 / 클래스 라이브러리로. 나는 일해야한다!
Felix Aballi

dll을 참조했는지 확인하십시오. Dll은 솔루션 디렉토리의 bin 폴더 안에 있습니다.
Abhishek Poojary

답변:


471

이는 두 프로젝트 간의 .Net 프레임 워크 버전 비 호환성의 결과 일 수 있습니다.

두 가지 방법으로 발생할 수 있습니다.

  1. 전체 프레임 워크 프로젝트를 참조하는 클라이언트 프로파일 프로젝트; 또는
  2. 최신 프레임 워크 버전을 대상으로하는 이전 프레임 워크 버전

예를 들어, 응용 프로그램이 .Net 4 Client Profile 프레임 워크를 대상으로 설정하고 참조하는 프로젝트가 전체 .Net 4 프레임 워크를 대상으로하는 경우에 발생합니다.

그래서 더 명확하게하기 위해 :

  • 프로젝트 A는 고객 프로파일 프레임 워크를 대상으로합니다
  • 프로젝트 A는 프로젝트 B를 참조합니다
  • 프로젝트 B는 전체 프레임 워크를 목표로합니다

이 경우 솔루션은 응용 프로그램의 프레임 워크 대상을 업그레이드하거나 (프로젝트 A) 참조 된 어셈블리의 대상을 다운 그레이드하는 것입니다 (프로젝트 B). 전체 프레임 워크 앱이 클라이언트 프로파일 프레임 워크 어셈블리를 참조 / 소비하는 것은 좋지만 다른 방법은 아닙니다 (클라이언트 프로파일이 전체 프레임 워크 대상 어셈블리를 참조 할 수 없음).

VS2012 또는 VS2013에서 .Net 4.5를 기본 프레임 워크로 사용하는 새 프로젝트를 만들 때이 오류가 발생할 수 있습니다.

  • 참조 프로젝트는 .Net 4.0을 사용합니다 (VS2010에서 VS2012 또는 VS2013으로 마이그레이션 한 다음 새 프로젝트를 추가 할 때 일반적 임)

  • 참조 된 프로젝트는 더 큰 버전 (예 : 4.5.1 또는 4.5.3)을 사용합니다 (기존 프로젝트를 최신 버전으로 재 타겟팅했지만 VS는 여전히 v4.5를 대상으로하는 새 프로젝트를 생성 한 다음 이전 프로젝트를 참조합니다. 새 프로젝트)


2
훌륭함-이 효과-전체 .NET Framework 4를 사용하도록 WPF 앱 클라이언트를 업그레이드해야했습니다. 이것이 클라이언트 풋 프린트에 어떤 영향을 미칠지 확실하지 않습니까? 내가 가지고있는 라이브러리를 .Net 4 Client Profile로 다운 그레이드하려고했지만이 작업을 수행했을 때 방금 사용하기 시작한 최근 Quartz.net 타사 라이브러리와 비슷한 문제가 발생했습니다. 따라서 내 라이브러리 프로젝트에서 Quartz.net을 사용하면 궁극적으로 UI WPF 앱에서 전체 .Net 4 프레임 워크를 사용해야합니다.
Greg

3
감사합니다-이것은 지금 막 도움이되었습니다. 최근에 VS2010에서 솔루션을 VS2012로 옮겼으며 VS2012에서 새 클래스 라이브러리를 하나 만들었습니다. 갑자기이 오류가 발생했습니다. 물론 새 클래스 라이브러리가 .NET 4.5를 대상으로하는 동안 프로젝트가 .NET 4.0을 대상으로했기 때문입니다. 4.0을 대상으로 새 라이브러리를 다운 그레이드하면 문제가 해결되었습니다.
Richard

22
Visual Studio가 이것에 대한 힌트를 줄 수 있다면 정말 좋을 것입니다!
Jason Coyne

3
이 답변은 무엇을해야하는지에 대한 훌륭한 설명을 제공하지만 ... 어떻게해야하는지에 대한 제안이 없습니다. 훌륭한 추가 자료가 될 것입니다.
Jon Story

1
우리 중 최고조차도 때로는 어떤 일을 할 필요가 없었습니다. 프레임 워크를 변경하지 않아도 된 방법을 잘 모르겠습니다. 지금은 프레임 워크를 찾았지만 이전에는 발생하지 않았습니다. 답변을위한 거래 차단기는 아닙니다. 단지 최고의 답변이 '문제를 설명하고, 해결책을 말하고, 해결 방법을 보여줍니다'를위한 원 스톱 상점 역할을하는 것입니다.
Jon Story

50

너겟 패키지를 다시 설치하면 나에게 속임수가 있었다. .NET Framework 버전을 모든 프로젝트와 동기화하도록 변경 한 후에도 이전 버전에 대해 일부 nuget 패키지 (특히 Entity Framework)가 설치되었습니다. 패키지 관리자 콘솔의이 명령은 전체 솔루션의 패키지를 다시 설치합니다.

Update-Package reinstall

내가 직면 한 문제는 새로운 솔루션을 만들고 다른 버전과 다른 버전의 Nuget 패키지를 추가했다는 것입니다. 그런 다음 Update-Package -reinstall모든 솔루션 에서이 패키지의 다른 버전을 포함하여 몇 가지 오류가 발생했습니다. 나는 결국 업데이트를 마쳤습니다. 이전에 대상 버전을 변경했기 때문에 package.json 파일의 참조도 45에서 452로 수정했습니다.
Ádám Kovács

나를 위해 일했고 다운 그레이드하는 동안 참조에서 Sytems.Net.Http를 제거해야했습니다.
Binil Anto

1
이것은 또한 나를 위해 일한 것입니다. 명령을 실행 한 다음 결과로 보류중인 변경 사항을 취소하고 내 sln이 정상으로 돌아 왔습니다.
foremaro

그것은 나를 위해 일한, 그것은 나에게 나의 현재의 프레임 워크를 지원 않네 참조했다
Adleri

이것은 저에게 효과적이며 사라진 오류는 설치된 모든 nuget 패키지와 전혀 관련이 없습니다.
CAD bloke

31

왜 이것이 효과가 있었는지 모르겠지만 VS2015가 찾을 수 없다고 알려주는 프로젝트 참조를 제거하고 다시 추가했습니다. 문제를 해결했습니다. VS를 청소, 빌드 및 다시 시작하여 아무 소용이 없었습니다.


VS 솔루션 내에서 참조 문제를 찾을 때마다이 트릭을 적극 권장합니다. 더 높은 버전의 .NET 프레임 워크를 대상으로 새 프로젝트를 추가 한 후 VS2017의 문제를 해결했습니다. 일부 캐싱이 지워졌을 것입니다.
테마 필드

1
여기에서도 마찬가지입니다. 이것이 도움이되었습니다 (다른 버전 문제도 없었습니다). 빌드 / 실행에는 문제가 없었지만 열려있는 모든 파일에 대해 최대 400+ 이상의 오류 메시지가 표시되었습니다. 또한 ReSharper의 솔루션 전체 분석에서도 동일한 오류가 나타났습니다.
mike

이 트릭을 도와주었습니다. 대상 버전 차이도 없었습니다. 구축이 가능했지만 Rider는 아무런 문제를 보이지 않았지만 VS는 모든 프로젝트 참조가 누락되었다고 주장했습니다.
Daniel Lerps

컴파일러는 프로젝트 빌드 순서에 따라 컴파일되므로 한 프로젝트에 실제 오류가 있으면 청각 "유형 또는 네임 스페이스를 찾을 수 없음"오류가 발생하는 경우 손실 될 수 있습니다. 오류가 발생하고 참조를 업데이트하지 않습니다. 나열된 오류가 너무 많지 않으면 실제 오류를 찾을 수 있습니다. 불행히도 나를 위해 100 대가 있었 으므로이 트릭이 실제로 도움이되었습니다. 나는 intelisense가 빌드 순서를 신경 쓰지 않고 프로젝트를 개별적으로 컴파일하는 것 같아 인텔리 센스 오류가 발생하지 않는 이유입니다.
Kev

29

솔루션을 빌드 할 때 동일한 오류가 발생했습니다 (유형 또는 네임 스페이스 ''를 찾을 수 없음). 그 아래 에서 "참조를 확인할 수 없습니다"라는 경고 가 표시되고 "조립품이 디스크에 있는지"확인했습니다.

DLL이 참조가 가리키는 위치에 매우 명확했기 때문에 매우 혼란 스러웠습니다. VS는 솔루션을 구축하려고 시도 할 때까지 오류를 강조하지 않는 것 같습니다.

나는 마침내 문제를 깨달았다 (또는 적어도 내가 문제라고 생각한 것). 같은 솔루션으로 라이브러리 파일을 작성하고있었습니다. 따라서 디스크에 존재하더라도 해당 위치에서 다시 빌드되었습니다 (어떻게 라이브러리가 다른 프로젝트를 다시 빌드하는 과정에서 동일한 솔루션에서 라이브러리를 참조한 라이브러리가 존재하지 않는다고 결정해야 함)

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 전체 솔루션 대신 해당 솔루션 만 빌드했을 때 오류가 발생하지 않았습니다.

이 문제를 해결하기 위해 라이브러리를 사용중인 프로젝트에 대한 종속성으로 라이브러리를 추가했습니다.

이것을하기 위해:

  1. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택했습니다.
  2. 그런 다음 "공통 속성"에서 "프로젝트 종속성"을 선택했습니다.
  3. 그런 다음 프로젝트 드롭 다운 메뉴에서 라이브러리에 의존하는 프로젝트를 선택하고
  4. "종속"에있는 라이브러리 옆의 상자를 선택했습니다.

이를 통해 라이브러리 프로젝트가 먼저 빌드됩니다.


2
팁에서 경고를 확인해 주셔서 감사합니다. 내 문제는 내 주요 프로젝트가 참조했기 때문에 테스트 프로젝트가 Bcl 용 NuGet 패키지를 설치해야한다는 것입니다.
Kim

감사! 이것은 내가 겪고있는 문제를 찾도록 자극했습니다. 의존성 프로젝트에 대한 두 가지 참조가 있었고 우선 순위가 높은 것은 bin 폴더에 이전에 빌드 된 DLL이었습니다. DLL과 불량 참조를 삭제하고 다시 작성했습니다. 모든 것이 올바르게 컴파일되었습니다.
Chris Davis

7

먼저 프로젝트에서 생성 된 정보가 손상되지 않았는지 확인합니다. 솔루션을 정리하고 다시 빌드하십시오.

그래도 도움이되지 않으면 디자이너 문제에 대한 과거의 일 중 하나는 Windows Forms 프로젝트를 연 다음 다시 닫는 것입니다. 그러나 이것은 약간의 치킨 내장이기 때문에 숨을 참지 마십시오.


나는 당신의 솔루션을 깨끗하고 재건하려고 노력했지만 운이 없습니다. WPF 앱 프로젝트 만 제거 / 추가 / 청소 / 재 구축을 시도했지만 여전히 운이 없습니다. :(
Greg Greg

정리 후 재 구축으로 문제가 해결되었습니다. 그러나이 문제는 매일 나타납니다. 적어도 내가 완전히 정리할 때까지 내 일을 끝낼 수 있습니다.
Valamas

5

내가 겪은 까다로운 상황은 다음과 같습니다. 프로젝트 1은 Microsoft.Bcl.Async패키지가 설치된 4.0 전체 프레임 워크를 대상으로합니다 . 프로젝트 2는 4.0 전체 프레임 워크를 대상으로하지만 프로젝트 1 클래스를 참조 할 때는 컴파일되지 않습니다.

두 번째 프로젝트에 Async NuGet 패키지를 설치하면 정상적으로 컴파일되었습니다.


1
아 이거 고마워 내 휴대용 프로젝트는 Xamarin Studio에서 잘 컴파일되었지만 Visual Studio에서는 실패했습니다. XS가 암시 적 참조가 없을 때 컴파일 할 수 있도록 '매직'을 수행한다고 생각합니다.
Nicola Iarocci

5

필자의 경우 VisualStudio의 참조에는 삼각형과 느낌표가 있으며이 이미지는

그런 다음 마우스 오른쪽 단추로 제거하고 dll 참조를 다시 올바르게 추가하면 문제가 해결되었습니다.


4

이것은 나를 위해 일했습니다. 클래스 이름이 정의 된 클래스 (예 : Public class ABC)에서 한 문자를 제거하고 조금 기다리십시오. 이름을 변경했기 때문에 오류 목록이 증가합니다. 이제 입력 한 문자를 다시 넣으십시오. 이것은 나에게 도움이 되었기를 바랍니다. 행운을 빕니다!!!


4

비슷한 문제가 발생했습니다 : 컴파일러가 동일한 프로젝트 내의 폴더를 감지 할 수 없으므로 해당 폴더에 연결 지시문을 사용하면 오류가 발생했습니다. 필자의 경우 폴더 이름을 바꾸면 문제가 발생했습니다 . 해당 폴더 안에있는 모든 클래스의 네임 스페이스를 업데이트했지만 프로젝트 정보가 어떻게 든 업데이트되지 않았습니다. .suo 파일과 bin 및 obj 폴더 삭제, 솔루션 정리, 프로젝트 다시로드 등 모든 것을 시도했지만 아무런 도움이되지 않았습니다. 폴더와 클래스를 삭제하고 새 폴더를 만들고 새 폴더에 새 클래스를 만들면 문제가 해결되었습니다 ( 새 폴더 내에서 클래스를 옮기는 것만으로는 도움이되지 않음).

추신 : 내 경우에는 웹 응용 프로그램에서 작업하고 있었지만이 문제는 다른 유형의 프로젝트에서 발생할 수 있습니다.


3

[Facepalm] 내 문제는 C ++ 방식으로 종속성을 추가했다는 것입니다.

빌드되지 않는 프로젝트로 이동하여 솔루션 탐색기에서 'References'폴더를 열고 종속성이 나열되어 있는지 확인하십시오.

그렇지 않은 경우 '참조 추가'를 선택하고 프로젝트 탭에서 종속성을 선택할 수 있습니다.

붐 샨카


2

우리는 방금 해결책으로 수정 한 이상한 사례를 보았습니다. 메인 프로젝트에서 "using"문 앞에 숨겨진 / 공백 문자가있었습니다. 그 프로젝트는 잘 구축되었고 웹 사이트는 잘 작동했지만 그것을 참조한 단위 테스트 프로젝트는 구축 할 수 없었습니다.


2

기존 프로젝트를 VS2008에서 VS2012로 업그레이드 할 때이 문제가 발생했습니다. 두 개의 프로젝트 (내가 만든 두 개의 프로젝트)가 다른 .Net Frameworks (3.5 및 4.0)를 대상으로한다는 것을 알았습니다. 두 프로젝트 모두 대상 프레임 워크 상자에 ".NET Framework 4"가 있는지 확인하여 프로젝트의 응용 프로그램 탭에서이 문제를 해결했습니다.


2

같은 오류가 있었지만 내 이야기는 다음과 같습니다. 잘못된 병합 (git을 통해) 후 내 .csproj 파일 중 하나가 다음과 같은 compile항목 을 복제했습니다 .

<Compile Include="Clients\Tree.cs" />
<Compile Include="Clients\Car.cs" />
<Compile Include="Clients\Tree.cs" />        //it's a duplicate

큰 해결책이 있고 오류 창에 300 개가 넘는 메시지가 있으면이 문제를 감지하기 어렵습니다. 그래서 메모장을 통해 손상된 .csproj 파일을 열고 중복 항목을 제거했습니다. 내 경우에는 일했다.


1
VS 2019에서 잘못된 병합과 비슷한 문제가 발생했습니다. 프로젝트가 성공적으로 컴파일되었지만 솔루션은 아닙니다. 실제로 해당 프로젝트에 오류가 발생했습니다 (매우 이상합니다). 이전에 제거되었지만 병합에서 다시 추가 된 추가 파일이 참조되어 실패했습니다. 파일을 제거하고 .csproj 파일을 정리 한 후 다시 빌드하면 모든 참조가 다시 작동하기 시작했습니다.
Cryptc

2

토론과 같은 문제가 있습니다 .VS 2017은 참조 된 프로젝트의 클래스를 오류로 강조하지만 솔루션은 괜찮고 지능적인 작업을 빌드합니다.

이 문제를 해결하는 방법은 다음과 같습니다.

  1. 참조 된 프로젝트 언로드
  2. VS에서 .proj 파일을여십시오 (여기서 누군가가 제안한대로 사본을 찾고있었습니다)
  3. 프로젝트를 다시로드하십시오 (복제본이 없으므로 proj 파일을 변경하거나 저장하지 않았습니다)

1

문제가 있다고 생각 되는 코드를 제거하고 해당 코드를 참조하지 않고 컴파일되는지 확인할 수도 있습니다. 그렇지 않은 경우 다시 컴파일 될 때까지 문제를 해결 한 다음 의심되는 문제 코드를 다시 입력하십시오. 컴파일러가 다른 것을 좋아하지 않을 때 클래스 또는 메소드에 대해 이상한 오류가 발생하는 경우가 있습니다. 실제로 끊어진 문제를 해결하면 이러한 '팬텀'오류가 사라집니다.


1

나는 이것이 죽은 말을 걷어차 고 있다는 것을 알고 있지만이 오류와 프레임 워크가 훌륭했습니다. 내 문제는 기본적으로 인터페이스를 찾을 수 없다는 것을 말하고 있었지만 빌드하고 제대로 액세스했습니다. "왜 다른 사람들이 잘 작동 할 때이 인터페이스 만 사용합니까?"

결국 엔터티 버전 6을 사용하는 끝점의 인터페이스로 WCF를 사용하여 서비스에 액세스하고 나머지 프로젝트는 버전 5를 사용하는 것으로 끝났습니다. NuGet을 사용하는 대신 Nuget 패키지를 로컬 저장소에 복사하여 재사용하고 다르게 나열했습니다.

예 : EntityFramework6.dllEntityFramework.dll .

그런 다음 클라이언트 프로젝트와 똥에 참조를 추가했는데 오류가 사라졌습니다. 대부분의 사람들이 Entity Framework 버전을 혼합하지 않기 때문에 이것이 엣지 케이스라는 것을 알고 있습니다.


1

솔루션이 약간 다르기 때문에 솔루션에 솔루션을 추가하는 데 시간이 걸렸습니다.

필자의 경우 하나의 프로젝트에 새 클래스를 추가했지만 버전 제어 바인딩이 설정되지 않았으므로 파일을 Visual Studio 외부에서 (VC를 통해) 쓸 수 있도록 만들어야했습니다. Visual Studio에서 저장을 취소했지만 VS 외부에서 파일을 쓸 수있게 만든 후 VS에서 모두 저장을 다시 누르십시오. 이로 인해 실수로 새 클래스 파일이 프로젝트에 저장되지 않았습니다. 그러나 그러나 .Intellisense는 파일을 다시 컴파일하려고 할 때 파일을 찾을 수 없었지만 여전히 참조 프로젝트에서 파란색으로 표시되었습니다. 유형을 찾을 수 없음 오류입니다. Visual Studio를 닫고 열면 여전히 문제가 발생했습니다 (그러나 다시 열 때 클래스 파일이 누락되었다는 것을 알았습니다).

이것을 깨달았을 때 수정은 간단했습니다. 프로젝트 파일을 쓰기 가능으로 설정하고 누락 된 파일을 프로젝트로 읽었습니다. 이제 모든 것이 잘되었습니다.


1

나는 같은 문제가 있었다. 어느 날 밤 내 프로젝트는 다음날 아침 오류를 컴파일합니다!.

결국 Visual Studio가 내 참고 문헌 중 일부를 "조정"하여 다른 곳을 가리 키기로 결정했음을 알았습니다. 예를 들면 다음과 같습니다.

System.ComponentModel.ISupportInitialize가 어떻게 든 "blahblah.System.ComponentModel.ISupportInitialize"가되었습니다.

당신이 나와 같은 경우에 대 한 꽤 무례 한 일


1

이 이벤트는 Visual Studio 2017에서 발생합니다.

  1. Visual Studio를 다시 시작하십시오.
  2. 빌드에 실패한 프로젝트를 정리하십시오.
  3. 프로젝트를 다시 빌드하십시오.

1

내 경우는 여기에서 논의 된 것과 같지만 System.Core참조 목록에서 참조를 제거 할 때까지 아무것도 해결되지 않았습니다 (모든 것이 없으면 잘 작동했습니다)

이 문제가 매우 실망 스럽기 때문에 누군가에게 도움이되기를 바랍니다.


이것은 나에게 정확한 문제였습니다. System.Core를 제거하고 다시 빌드하면 오류가 즉시 해결되었습니다. 많은 두통을 덜어 주신 백만 감사합니다
user1959309

1

이 문제를 해결하려면 *.sln.DotSettings관련 솔루션 의 파일 을 삭제하고 다시 작성하는 데 도움이 될 수 있습니다 .


1

필자의 경우 적절한 소스 폴더에 클래스가 있지만 솔루션 탐색기에 등록되지 않았습니다. 프로젝트> 기존 항목 추가를 마우스 오른쪽 버튼으로 클릭하고 누락 된 클래스를 수동으로 선택해야했습니다. 그런 다음 모든 것이 잘 작동했습니다!


1

필자의 경우 문제는 네임 스페이스를 다른 프로젝트 (의도적으로)와 정확히 동일하게 변경 한 후 VS에 의해 어셈블리 이름도 변경되었으므로 동일한 이름을 가진 두 개의 어셈블리가 있었고 다른 하나는


어셈블리 이름을 어디서 수정하여 올바른 이름으로 변경할 수 있습니까?
Matt123

1
프로젝트 파일 (.csproj)에서 수동으로 또는 마우스 오른쪽 버튼으로 프로젝트-> 속성
user1121956

0

내 경우에는 외부 종속성 (xsd2code)으로 빌드 된 파일이 있었고 어떻게 든 designer.cs 파일이 VS에서 올바르게 처리되지 않았습니다. Visual Studio에서 새 파일을 만들고 코드를 붙여 넣으면 속임수가되었습니다.


0

웹 사이트를 Azure에 게시하려고 할 때이 오류가 발생하는 사람에게는 위의 유망한 솔루션 중 어느 것도 도움이되지 않았습니다. 나는 같은 보트에 있었고 내 솔루션은 자체적으로 잘 구축되었습니다. 나는 결국

  1. 내 솔루션에서 모든 너겟 패키지를 제거하십시오.
  2. 솔루션을 닫았다가 다시 엽니 다.
  3. 모든 너겟 패키지를 다시 추가하십시오.

조금 고통 스럽지만 웹 사이트를 Azure에 게시 할 수있는 유일한 방법이었습니다.


0

로컬 컴퓨터에서 에이전트로 실행중인 Visual Studio Team Services 빌드를 사용하여 빌드하려고하면이 오류가 발생했습니다.

그것은 내 일반 작업 공간에서 잘 작동했으며 에이전트 폴더 내에서 SLN 파일을 로컬로 열 수 있었고 모든 것이 정상적으로 컴파일되었습니다.

해당 DLL은 프로젝트 내에 저장 Lib/MyDLL.DLL되었으며 csproj 파일에서이를 참조합니다.

<Reference Include="MYDLL, Version=2009.0.0.0, Culture=neutral, PublicKeyToken=b734e31dca085caa">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>Lib\MYDLL.dll</HintPath>
</Reference>

힌트 경로에도 불구하고 말 그대로 파일을 찾지 못했습니다. msbuild가 프로젝트 파일 대신 SLN 파일을 기준으로보고 있다고 생각합니다.

어쨌든 메시지가 나타나면 Could not resolve this reference. Could not locate the assemblyDLL이 msbuild에 액세스 할 수있는 위치에 있는지 확인하십시오.

나는 속임수를 쓰고 Considered "Reference\bin\xxx.dll"대신 dll을 복사 했다는 메시지를 발견했습니다 .


0

필자의 경우 dll을 참조로 추가하면 type or namespace name could not be found오류가 발생했습니다. 그러나 dll 파일을 bin 폴더에 직접 복사하여 붙여 넣으면 오류가 해결되었습니다.

왜 이것이 효과가 있었는지 모릅니다.


0

이 스레드는 오래되었지만 공유하고 있지만 가져온 어셈블리의 세 번째 부분 종속성을 모두 설치해야합니다. 가져온 어셈블리가 Nuget 패키지에 포함되어 있지 않아 종속성이 누락되었습니다.

이 도움을 :)


0

필자의 경우 솔루션에 두 개의 프로젝트가 있었고 참조 된 프로젝트에 하위 네임 스페이스를 추가했지만 빌드 할 때 참조 된 프로젝트 빌드가 실패했으며 마지막으로 성공적으로 빌드 된 버전을 사용하지 않았다는 것을 알지 못했습니다. 이 새로운 네임 스페이스를 가지면 오류가 정확하여 존재하지 않기 때문에 찾을 수 없습니다. 해결책은 분명히 참조 된 프로젝트의 오류를 수정하는 것이 었습니다.


0

VS 2017 커뮤니티 에디션을 작업 중이며 CefSharp 너겟 패키지와 동일한 문제가있었습니다.

패키지가 성공적으로 다운로드 및 복원되었으며 프로젝트를 성공적으로 빌드하고 실행할 수있었습니다. 마크 업 만 네임 스페이스가 인식되지 않았 음을 나타냅니다.

References섹션 을 열고 노란색 느낌표 중 하나를 클릭하기 만하면됩니다.

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

몇 초 후 마크 업 오류가 사라졌습니다.

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


속성 패널이 열려있는 경우에만 작동한다고 생각합니다 (문제가있는 참조를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오). 왜 이것이 작동하는지 설명 할 수 있습니까?
Qwertie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.