首页 > 解决方案 > 错误:在 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 .nu​​get\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 构建存在问题,因为我在本地使用相同的配置并且它可以工作。

标签: azure-devopsxamarin.uwpbuild-pipeline

解决方案


错误:NUTC300F:内部编译器错误:由于内存不足错误,本机编译失败

通常,nutc_driver 崩溃通常是由于编译器内存不足。

这就是为什么它没有给出原因而失败的原因。而且您还收到了错误消息:

由于内存不足错误,本机编译失败

因此,此问题的原因可能是托管代理上的内存不足。由于 Microsoft 托管的代理是 Azure 虚拟机,因此根据文档,通常为 Standard_DS2_v2(2 个 vCPU, 7GB RAM ) 。

要解决此问题,您可以设置私有代理来执行构建管道。

希望这可以帮助。


推荐阅读