0

私たちは、開発者がさまざまなアルファ パッケージをテストおよび評価する際に、ワークスペース内にローカル リポジトリをセットアップすることが珍しくない環境で働いています。多くの場合、nuget.configs は、CI ビルドを壊すコード変更と共にチェックされます。さらに悪いことに、そのようなビルドがゴールデン ビルド サーバーに送信されると、そこでビルドが壊れたり、開発者がゴールデン ビルド サーバーから見えるリポジトリを使用した場合にアルファ パッケージがゴールデン ビルドに含まれたりするため、より多くの問題が発生します。

NuGet に %appdata% 以外の構成ファイルを強制的に無視させるオーバーライドを設定する方法はありますか? あるいは、NuGEt パワー ツール パッケージの msbuild ターゲットをカスタマイズしてこれを実現する方法はありますか?

TFS 2010 および VS 2010/2012 環境で作業しており、既定のビルド ワークフローを変更して、ビルド プロセス中に必要になる可能性のあるカスタマイズを組み込むことができます。

4

3 に答える 3

0

あなたはできる:

  1. NuGet 復元を有効にして、ソリューションでの NuGet ソース管理統合を無効にします。

  2. ビルドに MsBuild proj ファイルを使用し、nuget.org + 内部の安定した NuGet パッケージ ソース (コマンド ライン リファレンス)など、特定のソース リストからソリューション内のパッケージを復元するビルド前ステージを追加します。これは、packages.config ファイルにリストされているプレリリース バージョンよりも高いバージョンが常に存在する場合に機能します。

于 2014-08-05T22:57:45.877 に答える
0

ここでのパーティーには少し遅れましたが、誰かの役に立てば幸いです...

私は同様の環境で作業しましたが、この問題を解決するために、ローカル リポジトリ ( c:\localpackages など) を、すべて (ビルド サーバーを含む) で共有されたリモート リポジトリに加えて nuget.config に追加しました。このローカル リポジトリは、開発者が作業中の (またはテストしたい) パッケージを追加するために使用できます。

これは、nuget.config ファイルを変更する必要がないことを意味していました。ただし、ローカル リポジトリからインストールされたパッケージを参照するプロジェクト ファイルを開発者がコミットできるため (通常はビルドが中断されます)、これで問題が完全に解決されるわけではありません。これを解決するには、コード レビュー プロセスを変更して、このようなインスタンスをチェックする必要がありました。

于 2014-01-28T13:02:39.933 に答える