가져온 프로젝트“C : \ Microsoft.CSharp.targets”를 찾을 수 없습니다.


126

오늘 Visual Studio 2005에서 Visual Studio 2008 프로젝트 를 열려고 할 때이 오류가 발생했습니다 .

가져온 프로젝트 "C : \ Microsoft.CSharp.targets"를 찾을 수 없습니다.


파일 에서 참조 이름 Microsoft.CSharp.TargetsMicrosoft.CSharp.targets에서 로 변경해야했습니다 .csproj.
Stephane

답변:


112

메모장 (또는 메모장 ++)에서 csproj 파일을 엽니 다.

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

그리고 그것을

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

22
광산은 "<프로젝트 가져 오기 ="$ (MSBuildExtensionsPath32) \ ... "라고 말한다
B. 클레이 섀넌

@Iomaxx, Monodevelop 빌드 대상을 Mono / .NET 3.5에서 Mono / .NET 4.0으로 변경하여이 문제를 해결했습니다.
Frank

5
광산은 이미 MSBuildBinPath을했다,하지만 네임 스페이스에 CompactFramework을 포함 : < "\ Microsoft.CompactFramework.CSharp.targets $ (MSBuildBinPath)"/ 가져 오기 프로젝트 =>
Teysz

Monodevelop을 사용하는 경우 "mono-msbuild"및 "mono-msbuild-sdkresolver"패키지를 설치합니다. 참고 : Linux Manjaro에서 테스트되었습니다.
Eduardo Lucio

"msbuild-stable"(또는 이와 동등한) 패키지가 설치되어있는 경우 제거해야합니다. 참고 : Linux Manjaro에서 테스트되었습니다.
Eduardo Lucio

59

이것은 특정 패키지 또는 빈에 의존하지 않는 글로벌 솔루션입니다.

제 경우에는 루트 디렉토리에서 Packages 폴더를 제거했습니다 .

패키지가 있지만 컴파일러가 참조를 찾지 못하기 때문에 발생할 수 있습니다. 따라서 먼저 이전 패키지를 제거하고 새 패키지를 추가하십시오.

새 패키지추가하는 단계

  • 먼저 패키지 폴더를 제거합니다 ( 현재 프로젝트 폴더에 가깝거나 한 단계 올라갑니다 ).
  • 그런 다음 프로젝트 또는 솔루션을 다시 시작하십시오.
  • 이제 솔루션 파일을 다시 빌드하십시오.
  • 프로젝트는 nuGet 패키지 관리자에서 새 참조를 가져옵니다. 그리고 문제가 해결되었습니다.

이것은 적절한 해결책이 아니지만 동일한 문제에 직면했기 때문에 여기에 게시했습니다.

제 경우에는 Visual Studio에서 솔루션을 열 수 없었고 다른 SO 답변에 대한 도움도 얻지 못했습니다.


1
알프 모스가 말했듯이, 당신의 컴퓨터에 다른 곳에서 해당 파일을 찾아 그것을 검색 폴더에 복사
Serj 세이건

@SerjSagan 네, 도움이 되겠지만 때로는 Visual Studio에서 솔루션 파일도 열 수 없습니다. 그 때 제 솔루션이 도움이 될 것입니다 ..
Bharat

5
Mac 용 Visual Studio에서이 문제가 발생했는데 Microsoft.CSharp.targets어떤 이유로 파일이 삭제되었습니다! 말했듯이 packages폴더를 삭제 하고 Visual Studio를 다시 시작했는데 마술처럼 작동했습니다!
A-Sharabiani

1
이것은 나를 위해 그것을 고쳤지만 내 동료가 처음 으로이 작업을 할 수있었습니다. 이것이 작동하는 동안 나는 다른 것을 찾을 수 있습니다!
JakePlatford

1
좋은 친구! 나는 이것에 1 시간을 잃었다
Hugo Nava Kopp

20

나에게 문제는 저장소가 복제 될 때 git이 공백 대신 문자를 추가했기 때문에 프로젝트 경로에 % 20 문자가 포함되어 있다는 것입니다. 패키지 경로가 너무 긴 경우 또 다른 문제가있을 수 있습니다.


1
이것이 저에게 문제였습니다. 프로젝트 이름에 공백이 있으므로 git clone 이후의 디렉토리 이름에 % 20이 있습니다. 당신은 사용할 수 git clone <RepoUrl> <LocalDirName>는 % 20 것을 피하기 위해로 복제에 디렉토리의 이름을 지정
댄 쿡

11

MSDN 의이 링크 는 작동하지 않는 이유를 이해하는데도 많은 도움이됩니다. $ (MSBuildToolsPath)는 Microsoft.Build.Engine v3.5의 경로입니다 (VS2008에서 만들 때 프로젝트 파일에 자동으로 삽입 됨). .Net 2.0 용 프로젝트를 빌드하려는 경우이 경로를 Microsoft.Build.Engine v2.0의 경로 인 $ (MSBuildBinPath)로 변경했는지 확인하십시오.


11

제 경우에는 솔루션 에 5 개 프로젝트 중 하나 를 로드 할 수 없습니다 .

Visual Studio닫는 데 도움이 되었고 폴더 아래의 nuget 폴더 를 삭제 해야했습니다 .Microsoft.Net.Compilers.1.3.2packages

그런 다음 솔루션을 다시 열고 프로젝트가 예상대로로드됩니다.

확실하게 폴더를 삭제하기 전에 VS의 모든 인스턴스를 닫으십시오.


6

csproj 파일에 다음 줄이 있습니다.

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

이 파일을 삭제하면 정상적으로 작동합니다.


6

라는 오류가 발생하면 Microsoft.CSharp.Core.targets not found다음 단계를 수행하여 내 문제를 수정했습니다.

  1. 이전 작업 프로젝트 폴더를 열고 오류에 표시된 링크, 즉 파일을 Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/검색 Microsoft.CSharp.Core.targets하십시오.

  2. 이 파일을 복사하여 작동하지 않는 프로젝트에 넣습니다 tools folder(즉, 위에 표시된대로 작동하지 않는 프로젝트의 도구 폴더로 이동).

  3. 이제 프로젝트를 닫고 (열린 경우) 다시 엽니 다.

지금 작동해야합니다.

또한 이제 열려있는 Visual Studio 프로젝트에서 모든 것이 제대로 작동하는지 확인하려면 Tools > NuGetPackage Manager > Manage NuGet Packages For Solution. 여기에서 CodeAnalysis.dll이 다른 응용 프로그램에서 사용 중이라는 오류를 찾을 수 있습니다.

다시으로 이동 tools folder하여 지정된 파일을 찾아 삭제하십시오. 로 돌아 오십시오 Manage NuGet Packages For Solution. 새로 고침을 요청하는 링크를 찾아 클릭하면 모든 것이 다시 설치됩니다.

이제 프로젝트가 제대로 작동 할 것입니다.


3

Windows를 다시 설치 한 후 이것을 받았습니다. Visual Studio가 설치되었고 새 프로젝트 창에서 Silverlight 프로젝트 유형을 볼 수 있었지만 하나를 열 수 없었습니다. 솔루션은 간단했습니다. Silverlight 개발자 런타임 및 / 또는 Visual Studio 용 Microsoft Silverlight 4 도구를 설치해야했습니다. 이것은 어리석은 것처럼 보일 수 있지만 Silverlight 프로젝트 유형을 사용할 수 있었기 때문에 작동해야한다고 생각했기 때문에 간과했습니다.


3

제 경우에는 메모장에서 .csproj 파일을 열고 다음 세 줄을 제거했습니다. 매력처럼 작동 :

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />

2

그래서 이렇게 말하면 어떨까요 : gt / lt 사이에

Import Project = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets"/

타겟 오류를 어떻게 수정합니까?

또한 데모 프로젝트에서 가져 오기 문자열을 발견했습니다 (특히 Rob Eisenburg의 "Build your own MVVM Framework").

이 가져 오기를 lomaxx VS2010 RTM에서 제안한 가져 오기로 바꾸면 .


2

오류의 Microsoft.WebApplications.targets경우 다음을 수행 할 수 있습니다.

  1. TFS 서버에 Visual Studio 2010 (또는 개발 컴퓨터와 동일한 버전)을 설치합니다.
  2. Microsoft.WebApplication.targets개발 컴퓨터 파일에서 TFS 빌드 컴퓨터로 " "을 복사합니다 .

여기 에 게시물이 있습니다.


1

이 오류는 SL 5가 설치되어있는 동안 SL 4에서 빌드 된 Silverlight 프로젝트를 열 때도 발생할 수 있습니다.

다음은 오류 메시지의 예입니다. 가져온 프로젝트 "C : \ Program Files (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets"를 찾을 수 없습니다.

v4.0에 유의하십시오.

해결하려면 프로젝트를 편집하고 다음을 찾으십시오.

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

그리고 v5.0으로 변경하십시오.

그런 다음 프로젝트를 다시로드하면 열립니다 (SL 5가 설치되어 있지 않은 경우).


0

obj 폴더를 삭제 한 다음 프로젝트가 예상대로로드되었습니다.


0

때때로 문제는 .csproj 파일의 하드 코딩 된 VS 버전에있을 수 있습니다. 다음과 같이 csproj에있는 경우 :

[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"

번호가 올바른지 확인해야합니다 (잘못된 이유는 다른 버전의 Visual Studio로 만든 프로젝트 일 수 있음). 잘못된 경우 현재 버전의 빌드 도구로 바꾸거나 VS 변수를 사용하세요.

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"

0

Ansible 플레이 북을 실행하는 동안이 문제가 발생했기 때문에 여기에 2 센트를 추가하고 싶습니다. Visual Studio 14 누락에 대한 경고 메시지가 표시되었습니다. Visual Studio 버전 14는 2015 년에 출시되었으며 내 문제에 대한 해결책은 내 Azure DevOps 에이전트의 호스트 컴퓨터에 Visual Studio 2015 Professional을 설치하는 것이 었습니다.


0

복원, VS 닫기, 실패한 패키지 삭제, 다시 열기, 복원을 시도한 후 여러 번 패키지의 모든 항목을 삭제했으며 복원을 수행했을 때 완벽하게 작동했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.