在项目文件旁边的UWP应用程序Microsoft.Bcl.Build和packages.config构建错误

时间:2016-02-18 16:48:10

标签: win-universal-app

构建Windows Universal应用程序时出现了一个奇怪的构建错误。

  

严重级代码描述项目文件行抑制状态   错误无法找到   C:\用户\我\源\回购\ TT \的Windows \ MyCommonLibrary \ packages.config。   确保此项目已安装Microsoft.Bcl.Build   packages.config位于项目旁边   文件。 MyApp的

' MyApp的'有一个项目参考' MyCommonLibrary'。

真正奇怪的是,即使它显示为构建错误'。这不会影响我构建MyApp'或者' MyCommonLibrary'!

它也不会阻止我在本地或其他地方部署和运行我的应用程序。当它没有破坏构建时,将它列为构建错误只是一件令人讨厌的事情!

2 个答案:

答案 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>