私は2つのプロジェクトを含むソリューションを提供しています。Nugetはソリューション内のパッケージフォルダの生成を防ぎます
/Solution
.sln
.nuget.config
/ProjectA
.csproj
.nuspec
/ProejctB
.csproj
.nuspec
Nuget経由でProjectAを追加するとどうなりますか?基本的には、Visual Studioがpackages.configファイルを作成し、そこに依存関係を置く
/Solution
.sln
nuget.config
/packages
.nupkg
/lib
.dll
/ProjectA
.csproj
.nuspec
packages.config
/ProejctB
.csproj
.nuspec
:
プロジェクト構造はこのようなものになっています。そして、依存関係は/packages
フォルダに追加されます。また、.csproj
の内容が変更されました。(/packages
フォルダ内のdllへの相対パスを持つ参照が追加されました)
私は2つの質問があります。
1- nuget.configファイルの内側に次の行を追加しました。だから私は、ソリューションで/packages
フォルダを作成する代わりに、デフォルトのローカルリポジトリを使用すると思います。ソリューションで/ packagesフォルダを作成しないようにするにはどうしたらいいですか?代わりに"%userprofile%\.nuget\packages"
を使用したいと思います。
<add key="globalPackagesFolder" value="%userprofile%\.nuget\packages" />
2-依存性をnugetパッケージとして追加するとき。まだ.csprj
ファイルが変更され、dllの関連パスが相対パスの参照としてそこに追加されます。大丈夫ですか?自動生成されませんpackages.config
。なぜこのファイルも更新されます。
ソリューション内にパッケージフォルダがあるのはなぜ重要ですか? – FrankerZ
各ソリューションにパッケージフォルダを用意する代わりに、システムに1つのパッケージフォルダを置き、各ソリューションがこのフォルダを使用する方がよいと思います。 "%userprofile%\。nuget \ packages"はすでに存在していますので、使用したいと思います。 – wasabi
パッケージマネージャはローカルキャッシュを使用します。それはdllを各ディレクトリにコピーします(異なったプロジェクトが異なるバージョンを参照するかもしれないので) – FrankerZ