2011-06-21 5 views
14

ナゲットパッケージ全体を削除して、プロジェクトにクリーンインストールしたいと思います。Nugetクリーンパッケージ削除/インストール

悲しいことに、何らかの理由で「修正済み」のファイルをスキップして、再インストール時にプロジェクトに入れてしまうことをスキップします。

ナゲットパッケージのすべての単一トレースを無条件に削除するように設定できるフラグはありますか?あるいは、既存のファイルをすべて上書きしますか?

ありがとうございました。

答えて

11

残念ながら、現時点でNuGetはあなたが望むことをしません。アンインストールプロセス中、NuGetはコンテンツファイルが変更されていない場合にのみ削除します。あなたが気付いたように、更新プロセスは変更されたファイルも更新しません。

Uninstall-Packageコマンドには-Forceオプションがありますが、これは依存する他のパッケージがある場合でもアンインストールを強制的に強制することです。

私たちは確かにこれを問題として提出し、おそらく将来のバージョンに組み込むことができます。

また、パッケージのコンテンツを列挙するPowerShellスクリプトを作成し、すべてのコンテンツファイルを削除できるようにすることもできます。これを行う簡単な方法があるかどうかがわかります。

BTW:おそらく、既存のコンテンツファイルを直接変更する以外の方法で拡張することができます。特に、パッケージが更新されたときに変更が失われているためです。

+0

この問題もあります。問題は、私は実際にファイルの内容を変更していないことです。私がやったのは、ファイルをsvnリポジトリに追加することだけです。私は、SVNがファイルに加えるどんな属性も変更として解釈されていると思います。これは、ソース管理システムを使用する人にとってナゲットを本当に不便にしてしまいます。 – Sean

+2

この回答は過去15か月間に変更されていますか? –

+0

@PatrickSzalapskiはい - 私の答えを参照 –

3

NuGetバージョン1.6はパッケージ削除機能を持っています! http://docs.nuget.org/docs/release-notes/nuget-1.6

拡張機能のアップデートが失敗した場合(signatur missmatch)、アンインストールして再インストールするだけです。これは既知の問題です。

+4

あなたの引用ページは「削除あなたが話している「既知の問題」と、v1.6以降のどの部分がそれに対処しているのかを説明してください - 今すぐあなたの答え、善意が有用な情報を神から –

6

あなたは今すぐあなたの好きなことをすることができます! (最終的に)

最新のNuGetにアップデートする必要があります(この機能は2013年4月頃に追加されたと思います)。これはTools > Extensions and Updatesに行き、Updatesをクリックしてナゲットを更新します。

次に、-FileConflictActionパラメータを使用すると、ファイルを上書きできます。

Install-Package Microsoft.jQuery.Unobtrusive.Validation -Version 2.0.30506.0 -FileConflictAction Overwrite 

PowerShell Command Reference for Install-Package

0

私はこれが私に数回起こったと思います。あなたのプロジェクトのルートディレクトリであるはずのpackages.configファイルに行き、insurgentを削除します(あなたの場合は、パッケージの行:SignalR)。これはNuGetにパッケージが一度もインストールされなかったことを伝えます。

これで、リポジトリから再インストールしてアンインストールできます。すべてが元の状態に戻ってしまうので、この混乱に直面します。私はそれがどのように起こっているのか分かりません。

関連する問題