使用64位编译器时,UWP生成失败

使用64位编译器时,UWP生成失败,uwp,azure-devops,.net-native,Uwp,Azure Devops,.net Native,我有一个UWP应用程序,它是通过Azure DevOps上的CI/CD管道在托管的Windows 2019中使用VS2019 Worker构建的。截至最近,我的店铺提交失败,支持人员告诉我在CSPROJ中添加以下标志以解决该问题: <Use64BitCompiler>true</Use64BitCompiler> 有趣的是,我可以在本地构建,没有任何问题 以下是构建步骤的YAML: steps: - task: VSBuild@1 displayName: 'Bu

我有一个UWP应用程序,它是通过Azure DevOps上的CI/CD管道在托管的Windows 2019中使用VS2019 Worker构建的。截至最近,我的店铺提交失败,支持人员告诉我在CSPROJ中添加以下标志以解决该问题:

<Use64BitCompiler>true</Use64BitCompiler> 
有趣的是,我可以在本地构建,没有任何问题

以下是构建步骤的YAML:

steps:
- task: VSBuild@1
  displayName: 'Build Windows Project'
  inputs:
    solution: Src/MoneyFox.sln
    msbuildArgs: '/p:AppxPackageDir="$(Build.ArtifactStagingDirectory)\AppxPackages\\"   /p:UapAppxPackageBuildMode=StoreUpload  /p:AppxBundlePlatforms="$(BuildPlatform)" /p:AppxBundle=Always'
    platform: x64
    configuration: '$(BuildConfiguration)'
    clean: true
    msbuildArchitecture: x64
IlcRepo链接: 存储库:
(ilcRepro基于分支“native Repo”)

问题被追踪到CI/CD的默认代理没有足够的内存(7GB)来完成编译。我们已经研究了一些可以减少这些场景的内存压力的地方,但这项工作暂时还不能使用,因为它比bug修复更具结构性

同时,有两件事值得尝试去疏通

  • 以单线程方式运行优化器。这有助于减少内存压力,因为只有一个拷贝可以让优化器考虑。将此添加到您的csproj文件: 真的
  • 将托管代理升级到标准的_DS2_v2或更大版本(这似乎对大多数人都适用)

  • 有更多关于错误的内容吗?它能提供更多的线路吗?我发现,在很多情况下,托管构建会失败,而私有代理构建不会失败。在许多情况下,似乎没有韵律或理由。我看不出来。我添加了一个包含所有日志文件的zip链接。据我所知,它在第9001行调用.net native,并在接下来的两行中发布错误,但没有furhter information.Eek。对我来说,这看起来像是一个真正的优化器错误(在调查之前,您永远不会知道该错误:-))。你能给我发封邮件吗dotnetnative@microsoft.com? 您可以共享的最有用的工件是一个ilcRepro文件,该文件记录在这里:@mattwilden感谢您的回答。我给你发了封信。我没有看到你的邮件。您是否将zip作为附件发送?从历史上看,这是让Exchange吃掉你的邮件的好方法:-)你也可以尝试更直接地通过@.com给我发邮件“将代理升级到
    Standard_DS2_v2
    如果这是Azure dev ops中的托管代理,我将如何执行此操作?SingleThreadNUTC至少对我不起作用,仍然失败并出现相同的错误。
    steps:
    - task: VSBuild@1
      displayName: 'Build Windows Project'
      inputs:
        solution: Src/MoneyFox.sln
        msbuildArgs: '/p:AppxPackageDir="$(Build.ArtifactStagingDirectory)\AppxPackages\\"   /p:UapAppxPackageBuildMode=StoreUpload  /p:AppxBundlePlatforms="$(BuildPlatform)" /p:AppxBundle=Always'
        platform: x64
        configuration: '$(BuildConfiguration)'
        clean: true
        msbuildArchitecture: x64