具有资源大小的UWP构建问题(.PRI文件问题)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有资源大小的UWP构建问题(.PRI文件问题)相关的知识,希望对你有一定的参考价值。
在我的UWP项目中,大量使用字符串资源超过20种语言,每种语言都有50k +键值。它还具有许多屏幕和控件。
直到一定的限制,没有任何构建问题。但是一旦我添加了3k个密钥,MSBuild就会出现未指定的构建错误。奇怪的是,如果我减少一些密钥,再次可以正常工作。
构建命令
MSBuild.exe MyProject.sln /p:AppxBundlePlatforms="x64" /p:AppxPackageDir="$(Build.ArtifactStagingDirectory)MyProjectAppxPackages\" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=SideloadOnly /p:UseDotNetNativeToolchain=false /p:Use64BitCompiler=true
错误
error PRI175 : 0x80004004 - Processing Resources failed with error : Operation aborted [D:VSTS Agentvsts-agent-win-x86-2.155.1\_work24sMyProject.csproj]
GENERATEPROJECTPRIFILE : error PRI222: 0xdef0000f - Unspecified error occurred. [D:VSTS Agentvsts-agent-win-x86-2.155.1\_work24sMyProject.csproj]
1654 Warning(s)
2 Error(s)
一段时间后确定PRI文件存在问题。根据MS Documentation PRI文件大小,lim是64kb。但这对我来说一直有效,直到18mb(是的!我的resources.pri文件大小为18.6mb,并且仍然可以正常工作)。
如前所述,如果我添加更多键,resources.pri文件将变为21mb,并且总是会失败(使用禁用的.Net Native Toolchain发布版本)
幸运的是,它使用.Net Native Toolchain enabled成功构建。
是否有解决此问题的建议?
提前感谢!
根据MS Documentation PRI文件大小,石灰为64kb。
非常感谢您报告此问题,我已确认文档中的64KB限制不正确,它将被更新。
如前所述,如果我再添加一些键,则resources.pri文件变为21mb并始终失败(发布版本已禁用).Net本机工具链)
幸运的是,它在启用.Net Native Toolchain的情况下成功构建。
对于大约21mb的大小,似乎您可能在PRI文件中允许的项目数量上达到了上限。
如果将来添加更多的字符串,也不确定.Net本机版本
由于我们会定期进行审查,并且会为PRI文件提供额外的容量,因此,如果您仍然希望将PRI文件增加到大于21mb的更大文件,请尝试使用最新的内部预览版本(20H1)看看它是否有助于减轻您所看到的?
谢谢。
以上是关于具有资源大小的UWP构建问题(.PRI文件问题)的主要内容,如果未能解决你的问题,请参考以下文章