5

VisualSVN にコミットした Visual Studio プロジェクトがあります (Visual Studio のVisualSVN=>Commitメニューを使用)。NuGet を使用して、このプロジェクトに多数のライブラリを追加しました。

私の同僚は、私が SVN にアップロードしたプロジェクトを ( VisualSVN=>経由Get solution from Subversion...で) ダウンロードしましたが、これらのライブラリが見つからないことに気づき、再ダウンロードする必要があります。

いくつかの質問:

  1. これは設計によるものですか?または、ソリューションを適切にコミットしていませんか? それとも、同僚が自分のマシンにソリューションを正しくダウンロードしていないのでしょうか?
  2. これが仕様によるものである場合、SVN サーバーからダウンロードしたソリューションへの参照を再度追加する正しい方法は何ですか? 参照を追加して作業した可能性があり、その後更新された可能性があるのではないかと心配しています。そのため、同僚が NuGet を介して同じ参照を再度追加すると、異なる最新バージョンが取得されます。これは私のプログラムを壊します。これは正当な懸念事項ですか?
4

2 に答える 2

5

はい、これは仕様です。Nuget を使用する全体的な概念は、バージョン管理システムにライブラリを保持する必要がないということです。

Visual Studio でソリューションを右クリックして、 を選択する必要がありますEnable NuGet Package Restore

これにより、ビルドを実行するたびに NuGet パッケージを復元するようにソリューションが構成されます (不足している場合、またはパッケージがない場合)。また、特定のプロジェクトに追加したすべてのライブラリにはpackages.config、プロジェクトのソース ディレクトリに作成されたエントリがあります。例:

<packages>
  <package id="jQuery" version="1.8.3" />
</packages>

このようにして、NuGet は全員が同じバージョンを取得できるようにします。

于 2012-12-28T11:21:54.417 に答える
3

ソリューションで「Nuget パッケージの復元」を有効にするだけで、ビルド中にパッケージが自動的にダウンロードされます: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

于 2012-10-07T15:51:08.817 に答える