1. ホーム
  2. visual-studio-2010

[解決済み] ソリューションからnugetパッケージのrestoreを削除する

2022-04-30 20:59:26

質問

Enable NuGet Package Restore」を使って、最近のNuGetパッケージのリストア機能をソリューションに追加しました。 http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

しかし、それは私のビルドサーバーを壊し、私はそれを修正する時間がありませんでしたので、私はそれを削除したいと思いました。私の知る限りではそのためのオプションはないので、私のすべての*.csprojファイルから次の行を手動で削除しました。

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

問題は、*.csproj ファイルがチェックアウトされたり、ソリューションを開くたびに、その行が自動的に追加され、誤ってそれをチェックインするとビルドが壊れることです :(

どうすれば永久に削除できるのでしょうか?

UPDATE: 下記の回答にもかかわらず、解決策を開くとまだ戻ってきます。

解決するには?

よく見ていなかったのですが、プロジェクトファイルには別のプロパティが追加されています。

<RestorePackages>true</RestorePackages>

すべての*.csprojファイルから、これとこれらの行を手動で削除する必要があります。

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

UPDATEです。

プロジェクトファイルを手動で編集している場合、このバグがしつこいことが判明しました。 ソリューションを終了し、プロジェクトからすべての行を一度に削除してください。 そうしないと、プロジェクトがリロードされたときにまた追加されてしまうからです。

UPDATE2です。

ソリューションルートから .nuget フォルダも削除します。

UPDATE3です。

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 フォルダに、新しいプロジェクトに追加される別のセクションがあります...これをfalseに切り替えてください。

<!-- We need to ensure packages are restored prior to assembly resolve -->
<BuildDependsOn Condition="$(RestorePackages) == 'false'">
    RestorePackages;
    $(BuildDependsOn);
</BuildDependsOn>