nuget.targets를 찾을 수 없음 오류로 인해 Visual Studio에서 프로젝트를 열지 못함


105

그래서 http://www.twitterizer.net/downloads/ 에서 Twitterizer를 다운로드했습니다 .

Visual Studio에서 열어보고 다음과 같은 모든 너겟 오류가 발생합니다.

The imported project "C:\Twitterizer\.nuget\nuget.targets" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file 
exists on disk.

무슨 일이야. 어떻게 처리합니까?


5
다른 사람이이 문제에 부딪 힐 경우를 대비하여 메모를 남겨주세요. Nuget 2.7은 새로운 유형의 패키지 복원을 도입했습니다. 이전 스타일을 사용하는 프로젝트를 새 스타일을 사용하는 솔루션에 추가하려고하면 이와 동일한 오류가 발생합니다. 이를 해결하는 방법은 새로운 스타일로 프로젝트를 마이그레이션하는 것입니다 docs.nuget.org/docs/workflows/...
Slapout

답변:


171
  1. Nuget을 설치합니다.
  2. 솔루션을 마우스 오른쪽 버튼으로 클릭하고 "NuGet 패키지 복원 활성화"를 선택합니다. Visual Studio 2013 이상에서는 대신 "NuGet 패키지 복원"을 선택합니다.
  3. 경고에서 확인을 클릭하십시오.
  4. 솔루션을 닫았다가 다시 엽니 다.

이제 늠름한 사람이어야합니다.


2
감사합니다. VS에서 더 유용한 오류 메시지를 제공하면 좋을 것입니다.
rossisdead

2
이 오류가 더 이상 nuget 2.7에 적용되지 않더라도 여전히이 오류가 발생합니다
thepaulpage

@Slapout 언급 (원래 질문에 대한 주석) 해결 방법을 수행해야합니다.
JasonS

여전히 여기서 작동하지 않지만 복원 할 종속성이 더 이상 없다고 말합니다. 이미 패키지 폴더를 삭제하고 몇 번 복원했습니다. (
rodrigorf

23

대안은 texteditor로 .csproj 파일을 편집하고 세그먼트를 제거하거나 주석 처리하는 것입니다.


4
이 경우를 확장하려면-명시 적 .nuget \ nuget.targets 파일이있는 솔루션에서 새로운 프로젝트로 프로젝트를 이동하면이 문제가 발생합니다 (NuGet 패키지를 복원 한 후에도).이 경우에는 Nuget을 만들거나 .targets 또는 프로젝트 파일을 수동으로 편집하십시오.
ThisGuy

내 프로젝트가 NuGet 패키지를 사용하지 않았고 VS 가이 물건을 자동 생성 한 것 같기 때문에이 솔루션을 적용했습니다. .csproj에서 추가 된 줄을 제거 할 수있게 해준 버전 관리에 감사드립니다.
Ivan G

어떤 세그먼트를 제거해야합니까?
Zapnologica

18

이 오류는 일반적으로 .csproj솔루션 파일을 통하지 않고 직접 열려고 할 때 발생 하며 다음 .csproj과 같이 Nuget 대상을 가져옵니다.

<Import Project="$(SolutionDir)\.nuget\NuGet.targets" />

이 문제를 해결하기 위해 직접 열지 .sln않고 열거 .csprojimport위 의 줄을 제거 할 수 있습니다 .

언급 된 오류는 solution wise더 이상 권장되지 않는 패키지 복원을 사용할 때만 발생합니다 .


2
이것이 내가 가진 문제입니다.
sparkyShorts

1
"위의 수입 라인"제거. 나를 위해 트릭을했다. 감사!!
Bart

5

같은 문제가 발생했지만 제 경우에는 폴더 이름의 공백이 문제였습니다.

Nuget은 "C : \ git \ My Path"를 찾을 수 없다고 말했지만 "C : \ git \ My % 20Path"로 이동할 수있었습니다. 폴더 이름의 공간을 제거하면 문제가 "수정"되었습니다.


이것은 정확히 제 문제였습니다 – 대단히 감사합니다!
D.Nielsen

2

나는 내가 파티에 늦었다는 것을 알고 있지만 여기 에이 문제를 해결하는 방법에 대한 정말 좋은 자습서가 있습니다. 나는 이것을 내 프로젝트를 수정하는 데 사용했습니다.

Visual Studio 닫기 마이그레이션하려는 솔루션이 Visual Studio에서 열려 있으면 변경 내용이 손실 될 수 있습니다. Visual Studio는 경우에 따라 변경 내용을 덮어 쓰거나 무시할 수 있으며 NuGet 확장은 솔루션의 일부 프로젝트에서 누락 된 패키지 복원을 다시 활성화하려고 시도합니다.

TFS를 사용하는 경우 솔루션의 .nuget 폴더에서 NuGet.exe 및 NuGet.targets 파일을 제거합니다. 파일 자체도 솔루션 작업 공간에서 제거되었는지 확인하십시오. NuGet.Config 파일을 유지하여 소스 제어에 패키지 추가를 계속 우회합니다. 솔루션에서 각 프로젝트 파일 (예 : .csproj, .vbproj)을 편집하고 NuGet.targets 파일에 대한 모든 참조를 제거합니다. 선택한 편집기에서 프로젝트 파일을 열고 다음 설정을 제거합니다.

진실 ... ...

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

그들. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 . 누락 된 파일은 {0}입니다. TFS를 사용하지 않는 경우 솔루션에서 .nuget 폴더를 제거하십시오. 폴더 자체도 솔루션 작업 영역에서 제거되었는지 확인합니다. 솔루션에서 각 프로젝트 파일 (예 : .csproj, .vbproj)을 편집하고 NuGet.targets 파일에 대한 모든 참조를 제거합니다. 선택한 편집기에서 프로젝트 파일을 열고 다음 설정을 제거합니다.

진실 ... ...

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

그들. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오 . 누락 된 파일은 {0}입니다. 마이그레이션 스크립트 많은 사용자가 MSBuild 기반 패키지 복원을 비활성화하고 자동 패키지 복원으로 변환하는 마이그레이션 도구를 요청했습니다. NuGet 팀은 처리되지 않은 엣지 케이스의 가능성이 높기 때문에 이에 대해 지원되는 도구를 제공하지 않기로 결정했습니다. 그러나 Owen Johnson은 많은 경우에 작동 할 수있는 PowerShell 스크립트를 작성했습니다. GitHub에서 사용할 수 있으며 사용자의 책임하에 사용할 수 있습니다. 즉, 시나리오에서 작동하지 않는 경우를 대비하여 실행하기 전에 소스 제어에 커밋해야합니다.

Nuget.target 수정


1

내가 도착하면 nuget.targets not found오류가 난에 패키지 관리자를 사용하여 uninstall-package프로젝트의 패키지 중 하나 다음 사용하여 다시 설치 install-package. 그러면 nugets.target 파일을 재생성하는 것 같습니다.


1

NuGet.targetsVisual Studio 솔루션 탐색기에서 누락 된 항목을 복원하기 위해이 오류가 발생하는 가장 쉬운 해결 방법은 다음과 같습니다.

  1. 솔루션 파일을 마우스 오른쪽 버튼으로 클릭하십시오 .
  2. 컨텍스트 메뉴에서 " Enable Nuget Package Restore ..."옵션을 클릭합니다.

" .nuget"폴더 에 누락 된 파일이 다운로드됩니다. :)

위의 내용은 이미 Nuget이 설치되어 있다고 가정합니다. 위의 대답을 따르지 않으면!

업데이트 : 2013 년 이후의 Visual Studio 버전의 경우이 옵션은 " NuGet 패키지 복원 "이라고합니다.


1
너겟 패키지 복원 활성화 옵션이 없습니다. 난 그냥 restore nuget packages.
Zapnologica

답변 업데이트-이것은 VS2013 이후 메뉴 옵션의 새 이름입니다
Emil
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.