ems*_*tea 15 win-universal-app
构建Windows Universal应用程序时,我遇到了一个奇怪的构建错误.
严重级代码说明项目文件行抑制状态错误无法找到C:\ Users\me\Source\Repos\TT\Windows\MyCommonLibrary\packages.config.确保此项目已安装Microsoft.Bcl.Build,并且packages.config位于项目文件旁边.MyApp的
'MyApp'有一个项目引用'MyCommonLibrary'.
真正奇怪的是,即使它显示为构建"错误".这不会影响我构建"MyApp"或"MyCommonLibrary"的能力!
它也不会阻止我在本地或其他地方部署和运行我的应用程序.当它没有破坏构建时,将它列为构建错误只是一件令人讨厌的事情!
Ran*_*ngy 13
我跟进了Bcl.Build包的所有者,得到了Eric St. John的回复.他说你不应该在你的使用project.json的UWP项目中引用Bcl.Build,并且有一个项目属性来禁止告诉你这样做的警告.
正确,问题是大多数那些使用它的包也不知道UWP,如果他们为UWP更新,我们希望他们放弃这种依赖而不是让它工作.对于UWP或任何支持project.json的框架,根本不需要该包.
要使用旧包解决错误,请执行以下操作:
将<SkipValidatePackageReferences> true </ SkipValidatePackageReferences>添加到csproj/vbproj的顶部
我相信这是Nuget 更新到 3.1的误报。
目前,我通过从现有的project.json 中手动创建Visual Studio 所需的packages.config 来解决这个问题。
例如:
项目.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": {}
}
}
Run Code Online (Sandbox Code Playgroud)
包配置
<?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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7549 次 |
| 最近记录: |