‘NuGet 패키지 복원 사용’을 사용하여 솔루션에 최근 nuget 패키지 복원 기능을 추가했습니다.
http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
그러나 빌드 서버가 손상되어 해결할 시간이 없었으므로 제거하고 싶었습니다. 내가 아는 한 그에 대한 옵션은 없으므로 모든 * .csproj 파일에서 다음 줄을 수동으로 제거했습니다.
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
문제는 이제 * .csproj 파일을 체크 아웃하거나 솔루션을 열 때마다 라인이 자동으로 다시 추가되어 실수로 파일을 체크인하면 빌드가 손상된다는 것입니다.
영구적으로 제거하는 방법에 대한 아이디어가 있습니까?
업데이트 : 아래의 답변에도 불구하고 솔루션을 열 때 여전히 같은 문제가있는 사람이 계속 다시 나타납니다.
답변
잘 보지 못했습니다. 프로젝트 파일에 다른 속성이 추가되었습니다.
<RestorePackages>true</RestorePackages>
모든 * .csproj 파일에서이 행과 모든 행을 수동으로 제거하면됩니다.
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
최신 정보:
프로젝트 파일을 수동으로 편집 하는 경우 솔루션을 닫고 한 번에 프로젝트에서 모든 줄을 삭제했는지 확인하십시오 . 그렇지 않으면 프로젝트가 다시로드되면 다시 추가됩니다 …
UPDATE2 :
솔루션 루트에서 .nuget 폴더도 삭제하십시오.
업데이트 3 :
이후 버전의 NuGet은 제거해야 할 다른 섹션을 추가합니다.
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
업데이트 4
내부 NuGet.Targets
에있는 .nuget
폴더 허위로 전환 … 새로운 프로젝트에 추가됩니다 다른 섹션이있다.
<!-- We need to ensure packages are restored prior to assembly resolve -->
<BuildDependsOn Condition="$(RestorePackages) == 'false'">
RestorePackages;
$(BuildDependsOn);
</BuildDependsOn>
답변
Nuget 패키지 복원을 비활성화하려면 :
- .nuget 폴더 삭제
- 모든 .csproj 파일에서 특정 줄 제거
제거 할 줄 :
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
<RestorePackages>true</RestorePackages>
참고 : 솔루션을 다시로드하기 전에 한 번에 모든 변경 사항을 수행해야합니다. 그렇지 않으면 변경 사항이 다시 추가됩니다.
이는 다음 기사를 기반으로합니다.
http://bartwullems.blogspot.no/2012/08/disable-nuget-package-restore.html
또한이 옵션이 비활성화되어 있는지 다시 확인하고 싶을 수도 있습니다.
http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
답변
이 설정이 아닌가요?
옵션 …- > Nuget 패키지 관리자 -> [선택 취소] Nuget이 누락 된 패키지를 다운로드하도록 허용
Visual Studio Professional + Resharper 8.2를 사용하고 있습니다.
답변
현재 MSBuild 통합 패키지 복원을 사용하는 솔루션을 자동 패키지 복원으로 마이그레이션 할 수 있습니다. 내가 이해 한 바에 따르면 CI 빌드 문제가 발생하는 사람들에게 도움이 될 것입니다. (실수하면 정정하십시오).
nuget 웹 사이트 ( http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore) 에서 자동 패키지 복원을 사용하기 위해 MSBuild 통합 솔루션 마이그레이션 문서를 참조하십시오.
TFS를 사용하거나 사용하지 않고 변환하기위한 정보가 있습니다.
David Ebbo는 http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html에 정보를 게시했습니다.
답변
우리는 실제로 그것에 관한 블로그 게시물을 가지고 있으며 게시물 끝에 마이그레이션을 돕기 위해 powershell 스크립트가 언급되었습니다.
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
답변
NuGet에는 자동 패키지 복원으로 마이그레이션하는 방법에 대한 블로그 게시물이 있습니다.
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
https://github.com/owen2/AutomaticPackageRestoreMigrationScript/blob/master/migrateToAutomaticPackageRestore.ps1 은 필요한 게시물을 자동으로 (및 재귀 적으로)
제거 하는 powershell 스크립트를 블로그 게시물에 참조합니다.
NuGet 패키지 복원 비활성화 옵션을 직접 제공하면 해결되지 않음으로 표시됩니다 :
https://nuget.codeplex.com/workitem/1883
답변
승인 된 솔루션을 따라 2012 년에는 소용이 없었습니다.
- VS를 완전히 닫습니다
- 업데이트
<RestorePackages>true</RestorePackages>
에<RestorePackages>false</RestorePackages>
와 삭제<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
라인을 - 또한 이름
nuget.exe
을nuget.exe.NotExe