seb*_*mez 16 javascript windows-runtime win-universal-app uwp
我讨厌重新发布,但我认为发布到MSDN论坛是正确的事情,因为它看起来没有很多人使用HTML/JavaScript处理UWP应用程序,但是,由于我根本没有答案,我转向伟大的SO社区寻求帮助.
问题:
我在HTML/JavaScript中有一个非常简单的UAP应用程序,它引用了一个Windows运行时组件,该组件引用了一个类库.
我需要投影在PC和/或手机上运行,所以我需要用任何CPU编译它.问题是每当我想编译我的应用程序时,我都会收到以下错误:
Your project.json doesn't list 'win10' as a targeted runtime. You should add '"win10": { }' inside your "runtimes" section in your project.json, and then re-run NuGet restore.
如果我在运行时添加了简单的win10条目,我会收到许多其他错误.这就是我的project.json的样子:
{
"dependencies": {
"Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0"
},
"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)
此外,如果有人有兴趣检查它,这里有一个最小的repro .
小智 19
AnyCPU不再是托管(C#/ VB)UWP应用程序的有效配置.这是因为UWP应用程序的所有托管代码(exe或dll)都是使用.NET Native工具链编译的,用于构建特定于体系结构的二进制文件.因此,如果您在HTML/JS UWP应用程序中使用托管WinRT组件,则还需要根据要部署的设备(即x86 for Desktop,ARM for Phone设备)在应用程序项目中设置特定体系结构.
gre*_*tea 12
我有类似的设置和完全相同的问题.我目前的解决方法是在桌面上进行测试时将编译器设置为x86,并在移动设备上进行测试时更改为ARM.远非最佳,但如果你找到更好的东西,我很乐意回复.
根据这篇 SO帖子,UWP/C#应用程序不支持AnyCPU.
除了确保使用.NET Native编译进行测试之外,您还可能会注意到AnyCPU构建配置已消失.随着.NET Native的混合,AnyCPU不再是有效的构建配置,因为本机编译依赖于体系结构.另外一个结果是,在打包应用程序时,应选择所有三种体系结构配置(x86,x64和ARM),以确保您的应用程序适用于尽可能多的设备.
来源:.NET Native - 对通用Windows平台(UWP)开发人员意味着什么
| 归档时间: |
|
| 查看次数: |
7644 次 |
| 最近记录: |