构建Windows Universal应用程序时出现了一个奇怪的构建错误。
严重级代码描述项目文件行抑制状态 错误无法找到 C:\用户\我\源\回购\ TT \的Windows \ MyCommonLibrary \ packages.config。 确保此项目已安装Microsoft.Bcl.Build packages.config位于项目旁边 文件。 MyApp的
' MyApp的'有一个项目参考' MyCommonLibrary'。
真正奇怪的是,即使它显示为构建错误'。这不会影响我构建MyApp'或者' MyCommonLibrary'!
它也不会阻止我在本地或其他地方部署和运行我的应用程序。当它没有破坏构建时,将它列为构建错误只是一件令人讨厌的事情!
答案 0 :(得分:13)
我跟进了Bcl.Build包的所有者,得到了Eric St. John的回复。他说你不应该在你的使用project.json的UWP项目中引用Bcl.Build,并且有一个项目属性来禁止告诉你这样做的警告。
正确,问题是那里使用它的大多数软件包也不知道UWP,如果他们为UWP更新,我们希望他们放弃这种依赖,而不是让它工作。对于UWP或任何支持project.json的框架,根本不需要该包。
要使用旧包解决错误,请执行以下操作:
添加< SkipValidatePackageReferences> true< / SkipValidatePackageReferences>到你的csproj / vbproj顶部
答案 1 :(得分:3)
我认为这是从Nuget Update到3.1。
的误报当我通过创建packages.config解决它时,Visual Studio需要手动从现有的project.json中获取。
例如:
<强> project.json 强>
{
"dependencies": {
"Microsoft.Bcl.Build": "1.0.21",
"Newtonsoft.Json": "8.0.2"
},
"frameworks": {
"uap10.0": {}
},
"runtimes": {
"win10-arm": {},
"win10-arm-aot": {},
"win10-x86": {},
"win10-x86-aot": {},
"win10-x64": {},
"win10-x64-aot": {}
}
}
<强> packages.config 强>
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="uap10.0" />
<package id="Newtonsoft.Json" version="8.0.2" targetFramework="uap10.0" />
</packages>