我在解决方案中有一个.Net Standard项目,我希望msbuild在我们的构建服务器上构建它。如果我不首先运行“nuget restore”,我会收到错误“project.assets.json'not found。运行NuGet包恢复”。我已经在解决方案级别的“packages”文件夹中拥有所有必需的NuGet包。我想以某种方式表明msbuild应该只使用本地“packages”文件夹中的文件而不是尝试重新下载文件。我怎样才能做到这一点?谢谢。
答案 0 :(得分:4)
.NET标准项目不使用解决方案中的kill -9 <PID>
文件夹。这是&#34; old&#34;通过packages
引用NuGet包的方法。新方法 - 项目中的packages.config
项 - 使用用户主目录中的共享全局包文件夹。即使没有需要下载的软件包,也需要在构建计算机上重新生成PackageReference
,并使用已解析的路径到此共享高速缓存。实际上,如果所有软件包都已在计算机上,则NuGet还原可能甚至不需要访问网络。
答案 1 :(得分:2)
我提出的最佳解决方案仍然涉及NuGet还原,但是我将本地包文件夹添加为nuget.config中的NuGet存储库之一,现在我不需要联系任何远程存储库。这不是我想要的,但它允许我进步。
<packageSources>
<add key="local" value=".\packages" />
</packageSources>