2017-11-30 4 views
0

두 솔루션에서 참조하는 C# 프로젝트가 있습니다. 두 솔루션 모두 .NET Framework 4.6에서 각각의 실행 가능한 프로젝트가 있습니다. Output Directory없이 MSBuild를 사용하여 솔루션과 해당 프로젝트를 빌드하려고하면 두 가지 솔루션 모두 정상적으로 작동합니다. 그러나MSBuild 오류 : 형식 또는 네임 스페이스 이름이 네임 스페이스 오류에 존재하지 않습니다. OutputDirectory로 빌드 할 때만

, 내가 솔루션 및 출력 디렉토리로의 MSBuild를 사용하여 각각의 프로젝트를 빌드 할 때, solution1는 성공적으로 빌드 있지만 솔루션이 오류와 함께 실패 : 나는 아래의 시나리오를 설명하기 위해 노력했다

(CoreCompile target) -> ConfigurationProvider.cs(1,24): error CS0234: The type or namespace name 'Helper' does not exist in the namespace 'Shared' (are you missing an assembly reference?) [C:\Code\Shared\Shared.Configuration\Shared.Configuration.csproj]

:

시나리오 1 :

  • Solution: Sol1
  • Executable project: Sol1ExecProject, in .Net framework 4.6
  • Classlibrary1(referred by Sol1ExecProject): SharedCL1, in .Net framework 3.5
  • Classlibrary2(referred by CL1): SharedCL2, in .Net framework 3.5

시나리오 2 :

  • Solution: Sol2
  • Executable project: Sol2ExecProject, in .Net framework 4.6
  • Classlibrary1(referred by Executable project): SharedCL1, in .Net framework 3.5
  • Classlibrary2(referred by CL1): SharedCL2, in .Net framework 3.5

프로젝트가 위에 표시된 공유 CL1이고 SharedCL2에서 네임 스페이스를 찾지 못한다고 불평합니다. 이 문제는 OutputDirectory를 지정하여 빌드 할 MSBuild 명령을 실행할 때 발생합니다. 출력 디렉토리를 지정하지 않으면 성공적으로 빌드됩니다.

누가 문제를 해결할 수 있습니까? 또한 다른 정보가 필요한 경우 알려 주시기 바랍니다.

상황이 나는 시도했다 :

  • 내가 4.6에 모두 공유 프로젝트의 닷넷 프레임 워크를 변경 -> 같은 결과

답변

0

두 프로젝트의 닷넷 프레임 워크 무엇입니까? 다른 버전의 프로젝트가 있고 최신 버전 프로젝트의 참조를 하위 버전 프로젝트에 추가하려고하면이 오류가 발생할 수 있습니까? 오류가 발생한 스크린 샷을 공유하십시오.

+0

주 질문에 세부 정보를 추가했습니다. –

+0

공유 프로젝트가 기본 프로젝트 또는 프로젝트 참조를 참조합니까? – Harish

+0

오류 메시지 등의 스크린 샷은 포함시키지 말고 순수한 코드는 ascii로 게시해야합니다! – user69453

관련 문제