私はパッケージ管理のためにproject.jsonを使用してVisual Studio 2017のXamarin.Forms PCLモバイルアプリケーションで作業しています(私はPackageReferenceを使用していません。私たちのチームの中にはまだVisual Studio 2015を使用しています)。私は、ソリューション内の複数のプロジェクトを持っている、と私はそうのように、プロジェクトの複数の支店を持っていますので、単一の場所からパッケージを参照できるようにするには、私はすべての私の(プロジェクト/ソリューション/枝を)したいNuGetパッケージが間違ったフォルダにインストールされています
MobileApp/
packages/ <<--- (I want nuget packages to be installed here)
Branches/
DevBranchSolution/
MobileApp.sln
nuget.config
ProjectA/
ProjectB/
MobileAppフォルダのルートレベルにパッケージフォルダを追加したことに気付くでしょう。私のようなものに見えるソリューションあたりnuget.configファイルを持っている:
nuget.config:私は「をクリックし、ソリューションを右クリックしてソリューションのNuGetパッケージの管理Visual Studioで
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="..\..\packages" />
</config>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="CustomPackagesLocation" value="..\..\packages" />
</packageSources>
<disabledPackageSources />
</configuration>
... "、パッケージをインストールしてください(例:Newtonsoft.Json)私のMobileApp/packages/
フォルダにソリューションファイルのnuget.configで設定した場所にパッケージファイルがインストールされると思います。しかし、それはしません。代わりに、ファイルはグローバルNuGetパッケージの場所に入れられます。これは%USERPROFILE%\.nuget\packages
です。
なぜですか?私のnuget.configファイルはそれを上書きしてはいけませんか?私は、Package Managerの設定に行くと、CustomPackagesLocationの場所は正しいが、repositoryPathの設定が何かに影響を与えていないように見えることを確認した。
project.json.lock
とProject.nuget.targets
ファイルの中に、パッケージフォルダがグローバルNuGetパッケージの場所(%USERPROFILE%/.nuget/packages
)に設定されていることにも気付きました。どうして?この値はどこから引っ張っていますか?
プロジェクトでPackageReferencesを使用していますか? –
私は残念ながら、私たちのチームがVS2015にいるわけではないので、私はVS2017を必要条件にしたくありませんでした。私はproject.jsonを使用しています。 – jbyrd
これを試してみてください:https://stackoverflow.com/questions/7676640/how-do-i-specify-the-directory-where-nuget-packages-are-installed またはhttps:// stackoverflow。 com/questions/4092759/nigetのパッケージの場所を変更することが可能です – BikerDude