我们正在Visual Studio 2015中开发多个解决方案。这些解决方案共享一些需要nuget包的核心项目。当从一个解决方案中添加nuget包,并在以后由另一解决方案打开时,无法解析nuget引用。
文件夹结构如下:
当我将nuget软件包安装到SharedProject1
when时SolutionA
,dll参考显示了的路径packages folder A
。当SolutionB
在另一台计算机被打开,SharedProject1
具有基准误差,因为packages folder A
不存在。
我已经阅读了此解决方案:当多个解决方案中包含某些项目时,为所有解决方案设置一个通用的nuget包文件夹,但这不能解决问题,因为repositoryPath
.nuget / NuGet.config文件中的密钥不与Visual Studio 2015
和一起应用Nuget 3.4.3
要解决此问题,我们将NuGet.config文件放入Codebase
目录中,然后删除解决方案中的所有其他Nuget.config文件和.nuget文件夹。由于NuGet配置会传播到子文件夹,因此单个NuGet.config文件中的设置将应用于所有解决方案。
里面的Nuget.config文件我们把packageSource
,repositoryPath
设置。
示例NuGet.config文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<config>
<add key="repositoryPath" value="./SharedPackages" />
</config>
</configuration>
由于.csproj文件中的dll引用仍会显示旧packages
文件夹,因此需要卸载并重新安装现有的nuget软件包。或者,您可以手动编辑.csproj文件。
产生的文件夹结构:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句