「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" />
更新:
プロジェクトファイルを手動で編集している場合、永続的な小さなバグですソリューションを閉じてプロジェクトからすべての行を一度に削除してください、そうでない場合は一度だけ追加されますプロジェクトがリロードされます...
PDATE2:
ソリューションルートから.nugetフォルダーも削除します
PDATE3:
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>
pdate4
NuGet.Targets
フォルダーにある.nuget
内には、新しいプロジェクトに追加される別のセクションがあります... falseに切り替えます。
<!-- We need to ensure packages are restored prior to Assembly resolve -->
<BuildDependsOn Condition="$(RestorePackages) == 'false'">
RestorePackages;
$(BuildDependsOn);
</BuildDependsOn>
Nuget Package Restoreを無効にするには:
削除する行:
<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 Package Manager-> [uncheck] Nugetに欠落パッケージのダウンロードを許可
Visual Studio Professional + Resharper 8.2を使用しています
現在MSBuild統合パッケージの復元を使用しているソリューションは、自動パッケージ復元に移行できます。私が理解していることから、これはCIビルドの問題に直面している人々に役立つはずです。 (間違っている場合は修正してください)。
Nuget Webサイトのドキュメントを参照してください:MSBuild-Integratedソリューションを移行して自動パッケージ復元を使用する http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore =
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
ブログの投稿で参照されるpowershellスクリプトがあり、必要な行を自動的に削除するを処理します(および再帰的に): https://github.com/owen2/AutomaticPackageRestoreMigrationScript/blob/master/migrateToAutomaticPackageRestore.ps1
[NuGetパッケージの復元を無効にする]オプションを直接提供すると、[未修正]とマークされます: https://nuget.codeplex.com/workitem/188
私は2012年を使用しても受け入れられなかった解決策に従いました。しかし、これはうまくいきました。
<RestorePackages>true</RestorePackages>
を<RestorePackages>false</RestorePackages>
に更新し、<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
行を削除しますnuget.exe
の名前をnuget.exe.NotExe
に変更しました古いスタイルのNuGetパッケージの復元を使用してプロジェクトをクリーンアップする必要がある場合は、IFixツールが利用可能です here プロセスを自動化します。
インストーラーを実行するだけで(IFix
がPATH
に追加されます)、次を実行します。
IFix nugetrestore --fix
最初にチェックモードで実行して、クリーンアップするものを確認できます。
IFix nugetrestore --check
[$(SolutionDir)\.nuget\nuget.targets] .nuget
フォルダーとその下にあるnuget.targets
ファイルがあるソリューションディレクトリに移動し、フォルダーを削除し、最後にcsprojから削除行を変更します。
問題が再びバグになることはありません。
ソリューション内のpackages.configファイルを削除します。
同じ問題がありました。私がやったこと:1)ソリューションの各プロジェクトの.csprojファイルに移動し、メモ帳で開いてから、xmlの一部を削除して保存しました。
2)次に、ソリューション全体からpackage.configファイルをすべて削除しました。
3)その後、.nugetおよびpackageフォルダーを削除する必要がありました。
この時点で、NuGetが完全に無料のソリューションになりました。
4)次に、必要なDLLを手動で参照し、コンパイルを実行すると、NuGetパッケージが必要なく、ソリューションはチャンピオンのように実行されました。
VS2012 RCでプロジェクトを開いているときに誤ってこの「パッケージの復元」オプションを有効にすると、次のようなエラーが表示され始めました。
「エラー1「C:\ FolderX\SomeProject.nuget\nuget.exe」が見つかりません」
エラーを修正するには、上記の手順に従い、各プロジェクトファイルをメモ帳で開いて、RestorePackage行を削除しました。
次の手順を実行することで、この問題を解決できました。
1)現在チェックアウトされているすべてのファイル変更のバックアップを必ず取ってください。
2)C:\(TFSにマップされているパス)からソリューションフォルダーを物理的に削除します。
3)ソリューションのTFSから最新情報を入手します。
4)手順1で取得したバックアップから変更をコピーします(ある場合)。
それが役立つことを願っています!