2

最近、NuGetを使用してプロジェクトにいくつかの依存関係を追加しました。バイナリをバージョン管理システムから除外するために、パッケージの復元機能を有効にして、結果の.nugetフォルダーをリポジトリに追加しました。また、依存関係のあるプロジェクトでは、RestorePackagesオプションがに設定されtrue、フォルダー内にImport-tagが設定されています。nuget.targets.nuget

これにより、NuGetがインストールされ、VS設定でパッケージ復元機能が有効になっているマシンですべてが正常に機能します。ただし、このセットアップを使用して他のマシンに依存関係をインストールしたい場合、いくつかの問題が発生します。

を含めることの利点の1つとして、nuget.exeNuGetが必ずしもインストールされていないマシンでこれを使用できるという印象を受けました。ただし、同意に関する記事を読んだ後、実際に失敗する理由は、これらのマシンの設定でパッケージ復元機能が有効になっていないためだと思います。明らかに、技術的にはNuGetについてさえ知らないためです。

NuGetがインストールされていないマシンでパッケージの復元を有効にするための推奨される方法は何ですか?NuGetをインストールすることは、ビルドサーバー以外の有効なオプションではありませんか?

または、理想的には、NuGetがインストールされておらず、ユーザーが設定を設定できなかった場合に、ソリューションからデフォルトでパッケージの復元を有効にする方法はありますか?NuGet.Config(私は実際にtoを作成するsetup-scriptを考えることができました%AppData&\NuGet

4

3 に答える 3

3

これを試して:

Install-Package NuGetEnablePackageRestore

または、パッケージの内容を確認(解凍)すると、役立つ興味深いものがいくつか見つかります(たとえば、MSBuild内から環境変数を設定する方法があります)。NuGetにログインした後、ブラウザー内でパッケージをダウンロードできます。

于 2012-08-06T19:11:44.233 に答える
1

「または理想的には、NuGetがインストールされておらず、ユーザーが設定を設定できなかった場合に、ソリューションからデフォルトでパッケージの復元を有効にする方法はありますか?」

NuGetをインストールし、[設定]で同意を有効にする代わりに、次の環境変数を設定します。

set EnableNuGetPackageRestore=true
于 2012-08-06T20:55:06.557 に答える
0

EnableNuGetPackageRestore(Alexandre Dionによって言及されている)変数がMsbuildスクリプトの送信プロパティとして使用されている場合(この方法で機能すると強く思われますが、現時点では確認できません)-プロジェクトまたはslnを調整して、この追加のプロパティをtrueに設定できます。

とにかく、これによると、各開発者のコ​​ンソールマネージャーとして少なくともnuget.exeが必要です。そうしないと、参照されているnugetパッケージをフェッチできません。

于 2012-09-14T19:52:37.807 に答える