azure-devops - 错误:在 azure dev-ops(发布模式)中构建 UWP 移动应用时出现内部编译器错误
问题描述
通过 dev-ops 构建管道在发布模式下构建 UWP 项目时出现以下错误。错误状态为“错误:内部编译器错误”,但没有给出原因。当我使用 VS 2017 和 VS 2019 在本地以发布模式构建它时,它工作正常。我正在使用 64 位版本的 MSBuild。
启动 'C:\Users\VssAdministrator.nuget\packages\runtime.win10-x64.microsoft.net.native.compiler\2.1.8\tools\x64\ilc\Tools64\nutc_driver.exe @"D:\a\1 \s\Satellite\WindowsPhone10\obj\x64\release\ilc\intermediate\MDIL\Satellite.UWP.rsp"'
[错误]C:\Users\VssAdministrator.nuget\packages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5):错误:内部编译器错误
C:\Users\VssAdministrator.nuget\packages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5):错误:内部编译器错误 [D:\a\1\s \Satellite\WindowsPhone10\Satellite.UWP.csproj]
[错误]C:\Users\VssAdministrator.nuget\packages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5):错误:ILT0005:'C:\Users\VssAdministrator .nuget\packages\runtime.win10-x64.microsoft.net.native.compiler\2.1.8\tools\x64\ilc\Tools64\nutc_driver.exe @"D:\a\1\s\Satellite\WindowsPhone10\obj \x64\release\ilc\intermediate\MDIL\Satellite.UWP.rsp"' 返回退出代码 1
C:\Users\VssAdministrator.nuget\packages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets(788,5): 错误:ILT0005: 'C:\Users\VssAdministrator.nuget\ packages\runtime.win10-x64.microsoft.net.native.compiler\2.1.8\tools\x64\ilc\Tools64\nutc_driver.exe @"D:\a\1\s\Satellite\WindowsPhone10\obj\x64\ release\ilc\intermediate\MDIL\Satellite.UWP.rsp"' 返回退出代码 1 [D:\a\1\s\Satellite\WindowsPhone10\Satellite.UWP.csproj] 完成构建项目 "D:\a\1\ s\Satellite\WindowsPhone10\Satellite.UWP.csproj”(默认目标)——失败。
该项目在调试和发布模式下在 VS 2017/2019 本地构建良好。我们开始收到以下错误:
错误:错误:NUTC300F:内部编译器错误:由于内存不足错误,本机编译失败
此错误发生在 VS 本地以及 Dev-Ops 中。为了解决这个问题,我们通过在发布配置中嵌入 true 来使用 64 位版本的 MSBuild。这在本地修复了发布版本,但它开始给我“错误:内部编译器错误”而没有一盎司的信息。所以不确定发生了什么。似乎 Dev-Ops 构建存在问题,因为我在本地使用相同的配置并且它可以工作。
解决方案
错误:NUTC300F:内部编译器错误:由于内存不足错误,本机编译失败
通常,nutc_driver 崩溃通常是由于编译器内存不足。
这就是为什么它没有给出原因而失败的原因。而且您还收到了错误消息:
由于内存不足错误,本机编译失败
因此,此问题的原因可能是托管代理上的内存不足。由于 Microsoft 托管的代理是 Azure 虚拟机,因此根据文档,通常为 Standard_DS2_v2(2 个 vCPU, 7GB RAM ) 。
要解决此问题,您可以设置私有代理来执行构建管道。
希望这可以帮助。
推荐阅读
- jquery - JQuery 函数,应该只在某个类上触发,即使从标签中删除类也会继续触发
- css - 在不知道组件数量的情况下粘贴位置的纯 css 堆叠
- python - 需要列表中最后 x 个元素的随机值
- php - 有没有办法将 JsonSerializable 对象作为数组参数传递?
- tensorflow - 模块“tensorflow”在 TF2.1.0 中没有属性“contrib”
- java - 休眠连接获取
- python - Plotly:如何在条形图中添加趋势线?
- java - Java 11 编译错误:包 xxx 存在于另一个模块中
- java - 创建列表并分配值
- python - Python:使用结构库的部署不起作用 - 错误:未知命令“deploy:3.6.3”