更改NuGet包的存储位置文件夹

16

我想改变NuGet包文件夹,但是它没有改变。我所做的是创建文件nuget.config

<configuration>
    <config>
        <add key="repositoryPath" value="C:\projects\" />
    </config>
</configuration>

我把这个文件添加到解决方案文件夹中(与.sln文件在同一个文件夹中),或者添加到项目文件夹中,然后重新启动VS,但什么都没有发生。我正在使用Visual Studio 2017 Community


我注意到您正在使用Visual Studio Community 2017创建Xamarin.Forms项目,对于这种类型的项目,引用应该是PackageReference。您应该在.csproj文件中使用<RestorePackagesPath>D:\Test\packages</RestorePackagesPath>。希望这能帮助到您。您可以查看我的更新答案以获取更详细的信息。 - Leo Liu
这个问题有任何更新吗?您解决了这个问题吗?如果没有,请让我知道这个问题的最新状态。我会继续关注。 - Leo Liu
2个回答

27

更改NuGet程序包位置文件夹

根据您所使用的项目类型,此设置可能会成功更改NuGet打包程序包文件夹,也可能不会。

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

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

要更改NuGet程序包文件夹,您可以设置“NUGET_PACKAGES”环境变量。只需设置“NUGET_PACKAGES”=“c:\teampackages”。或者,您可以在解决方案旁边放置一个名为“NuGet.Config”的文件,并拥有以下内容:

<?xml version="1.0" encoding="utf-8"?>
  <configuration>
    <config>
      <add key="globalPackagesFolder" value=".\packages" />
    </config>
</configuration>

关于详细信息,您可以参考此主题:

Dotnet restore不遵守nuget.config的“ repositoryPath”

更新:

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

<PropertyGroup>
  <RestorePackagesPath>D:\Test\packages</RestorePackagesPath>
</PropertyGroup>

然后重新启动Visual Studio,VS/NuGet将恢复nuget软件包到D:\Test\packages,在我的环境中运行良好,你可以检查我的测试样例:

进入图像描述

希望这有所帮助。


-4

在工具/ Nuget 包管理器/ 包管理器设置中 选项


5
这并没有回答用户的问题。 - xMRi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接