更改NuGet包位置文件夹

gdf*_*dfg 3 visual-studio nuget nuget-package nuget-package-restore

我想更改NuGet包文件夹,但它不会更改它.我所做的是创建文件nuget.config:

<configuration>
    <config>
        <add key="repositoryPath" value="C:\projects\" />
    </config>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我将此文件添加到解决方案文件夹(位于文件的同一文件夹中.sln)或项目文件夹中,然后重新启动VS,但没有任何反应.我在用Visual Studio 2017 Community.

Leo*_*SFT 13

更改NuGet包位置文件夹

根据您使用的项目类型,此设置可能会也可能不会成功更改NuGet packager文件夹.

如果您使用的是具有packages.config文件的.NET Framework项目,则此设置会将nuget包文件夹更改为C:\projects\.

但是如果您使用的是project.json文件,则此设置将无法成功.因为project.json项目不支持repositoryPath配置.

要更改nuget packager文件夹,可以设置"NUGET_PACKAGES"环境变量.只需设置"NUGET_PACKAGES"="c:\ teampackages".或者,您可以在解决方案旁边放置一个NuGet.Config文件,其中包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
  <configuration>
    <config>
      <add key="globalPackagesFolder" value=".\packages" />
    </config>
</configuration>
Run Code Online (Sandbox Code Playgroud)

有关详细信息,您可以参考以下主题:

Dotnet还原不支持nuget.config'reventPath'.

更新:

我注意到你正在Xamarin.Forms使用Visual Studio Community 2017 创建项目,引用应该是PackageReference,对于这种项目,你应该使用以下代码添加到.csproj文件中:

<PropertyGroup>
  <RestorePackagesPath>D:\Test\packages</RestorePackagesPath>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

然后重新启动Visual Studio,VS/NuGet会将nuget包恢复到D:\Test\packages,它在我这边工作正常,你可以查看我的测试样本:

在此输入图像描述

希望这可以帮助.