解决方案使用PackageReference,但是在引用packages.config时出现编译错误

时间:2019-11-18 01:24:43

标签: visual-studio nuget

我的解决方案有两个项目-proj1和proj2,它们引用proj1。我只是将解决方案从packages.config转换为PackageReference,现在当我构建解决方案时,proj2无法编译并出现错误:

  

找不到C:\ Users ... \ source \ repos \ project \ proj1 \ packages.config。确保此项目已安装Microsoft.Bcl.Build,并且packages.config位于项目文件旁边

我查看了.csproj文件,并且对任何packages文件夹的引用都为零。

如果我从proj2中删除了nuget包Microsoft.Bcl.Build,它会成功编译,但是我收到一条警告,指出任何引用proj1的项目都必须安装该包。

我可以安全删除它并忽略警告吗?否则,我不确定在使用PackageReference时为什么要引用packages.config文件。

这是最新版的VS 2019。

2 个答案:

答案 0 :(得分:1)

  

我可以安全删除它并忽略警告吗?

这可能是一个BLC nuget package问题(最新更新2014)。程序包本身错误地检查了packages.config。如果您使用新的PackageReference(在VS2017之后推出)软件包管理格式,则会发生此错误。

因此,如果您的项目不依赖于该软件包,则可以随意将其全部删除。您也可以尝试通过在<SkipValidatePackageReferences>true</SkipValidatePackageReferences>文件顶部添加xx.csproj来抑制警告。来自this issue的提示。

答案 1 :(得分:1)

删除您包文件夹和构建解决方案。它对我有用。