2016-01-12 23 views
7

の再ダウンロードを強制これは私のシナリオです:私たちは常に、別のプロジェクトでそれをテストする必要が溶液AのプロジェクトAにおけるnugetパッケージAの開発中nugetパッケージ

。このため、私たちは未リリースのパッケージAを含むdevnugetフィードを持っています。ソリューションAをビルドすると、自動的にそのdevフィードにプッシュされます。

テストのために、私たちはその開発ナゲットフィードからパッケージAを参照する複数のプロジェクトを持つソリューションBを持っています。

ソリューションAをリビルドする(そしてパッケージaがフィードにプッシュされる)たびに、テスト中にソリューションBのすべてのプロジェクトでパッケージの新しいビルドを使用します。

パッケージAが実際にリリースされると、パッケージはリリースナゲットフィードにプッシュされ、ソリューションBはパッケージを開発者フィードではなくリリースフィードから取得します。

そして、これらは私の二つの質問です:溶液BのパッケージフォルダにパッケージAの再ダウンロードを強制し、すべてのプロジェクトを作成するための正しい方法があっても、パッケージの新しいビルドを使用している何

パッケージのバージョンは変更されませんでした

この(一般的な)シナリオで提案されたワークフローは何ですか?私はそれを違うはずか?

答えて

8
Update-Package –reinstall <packageName> 

これは、各時間をアンインストールしてnugetパッケージをインストールし、自動的にあります。ドキュメントはhttps://docs.nuget.org/consume/reinstalling-packagesで提供されています

+0

私は上記のように、私は2つのフィード、devの一時的なビルドとリリースフィードと1つがあります。開発が完了したら、どうすればそれがリリースフィードから取得され、開発者フィードから取得されないことを確認できますか? '-source'パラメタで十分でしょうか?また、ソリューションBのすべてのプロジェクトに対して何かを行う必要がありますか? 'Update-Package'は、ソリューションの現在のプロジェクトで動作しますが、すべてではありません。 – bitbonk

+0

ナゲットの2つの情報源についてお話したいと思います。だからあなたは、両方のdevとフィードのフィードナゲットのソースパスを追加している必要があります。ツール - > Nuget Package Manager - >パッケージソース。両方のソースを追加します。インストール中に、パッケージをダウンロードしたい場所からソースを選択する必要があります –

+0

私は両方のソースを常にアクティブにしています。私は2つのアクティブなソースの中から選択する方法は見当たりません。私は一時的にdevソースを無効にする必要があります。これは良いワークフローのようには見えません。私は '-source'パラメータを使わなければならないと思います。 – bitbonk

関連する問題