到目前为止,使用Visual Studio 2015,NuGet packagas将恢复为特定于解决方案的"包"文件夹,我签入源代码控制。我们的TFS Build服务器没有Internet访问权限,因此需要这些本地副本才能成功构建。
我现在正在尝试使用.NETStandard类库的Visual Studio 2017,它不再生成NuGet包的本地副本 - 而是它们似乎存储在%HOMEDRIVE %% HOMEPATH%.nuget \ packages中。这意味着它们在Build服务器上不再可用。
如何让NuGet在本地存储包?
答案 0 :(得分:3)
您应该能够在.NET标准(SDK样式)项目中定义RestorePackagesPath property,该项目定义了NuGet包应该恢复到的位置。
您可以使用它来告诉NuGet不使用.nuget \ packages目录,而是使用相对于项目的其他目录。
<PropertyGroup>
<RestorePackagesPath>..\path\to\MyPackages</RestorePackagesPath>
</PropertyGroup>
查看NuGet documentation时,他们在使用使用PackageReferences的项目时提到了三种可能的方法。