93

私のチームは、Nuget 1.5以降、パッケージをソース管理から除外するために[パッケージ復元を有効にする]オプションを使用しています。Nuget 1.6がリリースされたとき、パッケージがプルダウンされていないという問題に気づき、パッケージマネージャーと一致するように1.6に更新する必要がある.nugetフォルダーのNuget.exeまで追跡しました。

Nugetが更新されたら、ソリューションを更新するための最良の方法は何ですか?スタジオから、ソリューションフォルダーにあるnugetのバージョンを確認する簡単な方法がわかりません。これまでのところ、.nugetフォルダーを吹き飛ばして、[パッケージの復元を有効にする]コマンドを再実行します。

4

3 に答える 3

154

コマンドラインから次のコマンドを使用して.nuget\nuget.exeを更新することをお勧めします。

nuget.exe update -self

[編集]:最初にVSソリューションを閉じます。更新があり、ソリューションが開かれると、nuget.exeがソリューションから削除されます。

.nu​​get \ nuget.targetsを変更して上記のコマンドを追加することにより、復元時にnuget.exeを自動的に更新できます。例として、そこにある復元コマンドを見てみましょう。しかし、それが価値があるかどうかはわかりません。nuget.exeの更新はそれほど一般的ではなく、下位互換性が損なわれることはめったにありません。

于 2012-04-11T18:32:24.910 に答える
32

これを処理する最善の方法は、.nugetフォルダーを削除し、ソリューション全体のパッケージの復元を再度有効にすることです。上記のように、ビルドに自己更新コマンドを追加することはできますが、バージョン間で変更があった場合(またはソリューションから参照を削除した場合)、ターゲットまたは構成ファイルは更新されません。おそらくそれほど大したことではありませんが、これは最新のexeファイルと構成ファイルを確実に入手するための確実な方法です。そして、結局のところ、更新は、新しいコマンドにアクセスする必要がある場合、または最終的に新しいリリースに重大な変更があった場合にのみ問題になります。

于 2012-05-25T18:19:07.917 に答える
-3

彼のブログでDavidEbboの投稿を参照してください

基本的に、必要なのは、.slnファイルの横に次のNuGet.Configファイルを作成することだけです。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear/>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="aspnetwebstacknightlyrelease" value="https://www.myget.org/f/aspnetwebstacknightlyrelease/" />
  </packageSources>
</configuration>
于 2014-11-04T17:31:19.123 に答える