【问题标题】:Error Creating UWP store package or Release Build - Out of Memory创建 UWP 存储包或发布版本时出错 - 内存不足
【发布时间】:2017-04-11 05:14:57
【问题描述】:

想将我的应用程序提交到 Windows 商店,但出现编译错误。 如果我尝试创建一个Release Build 或者如果我尝试我的应用程序的Create App Packages,我最终会得到以下结果。

ILT0005: 'C:\Program Files (x86)\MSBuild\Microsoft.NetNative\x86\ilc\Tools\nutc_driver.exe @"C:\Users\garet\documents\visual studio 2015\Projects\TestUwpProject\TestUwpProject \obj\x86\Release\ilc\intermediate\MDIL\TestUwpProject.rsp"' 返回退出代码 1

内存不足

我尝试过的事情。

  • 将项目移至其他驱动器
  • 重新创建项目
  • 将项目移至其他设备(笔记本电脑)。

注意:- 我试用过的笔记本电脑运行的是 VS2017 RC 和 Windows 10 的最新预览版。

我唯一能注意到的是,如果我创建一个空白项目并添加所有 nuget 包等,它编译得很好,这似乎意味着我的代码有问题,但我不知道从哪里开始。

问题看起来与此类似,但我没有使用 EF。

Out of memory error when compiling UWP app in release mode with .Net native

【问题讨论】:

  • 当使用 VS2015 时?商店甚至接受使用 2017 或预览版本制作的软件包吗?
  • Visual Studio 2015 在我的主要 PC 上。我笔记本电脑上的 VS 2017 只是一个测试,看看它是否是 Visual Studio 的问题。
  • 问题中没有任何内容。使用 edit 链接来改进它。
  • 哪个问题?您在评论中的问题?

标签: visual-studio-2015 uwp .net-native visual-studio-2017


【解决方案1】:

很抱歉听到这件事给您带来了麻烦。如果没有更多信息,诊断有点困难,但很可能我们的“整个程序”分析阶段之一在内存中呈指数级增长。我们看到发生这种情况的最常见框架是 EF 和 Syncfusion 库。解决这个错误将取决于您的程序的具体情况,但希望稍微花点时间能让您恢复原状。

尝试最简单的方法是尝试删除您实际上并不依赖的 dll。更少的库,更少的事情让编译器考虑。这对于 Syncfusion 库特别有用,因为它们的整个堆栈都在一个 Nuget 包中,但大多数人只使用其中的一小部分功能。

如果这不成功,您可以通过向 dotnetnative@microsoft.com 发送邮件来更直接地从我们这里获得帮助。请发送ILCRepro 文件,因为这是我们提供帮助的最快方式。

我们在纠正其中一些问题方面取得了进展,但一些混淆因素需要对编译器进行架构级别的更改,而这些更改仍需大约 1 年时间。

免责声明:我在 .NET Native 编译器+运行时团队工作。

【讨论】:

  • 抱歉回复晚了,我确实解决了这个问题。看起来它是一个同步融合 dll。我使用 ReSharper 删除了未使用的引用并看到它被删除了。编译后工作正常。这很奇怪,因为当我创建一个空白项目并添加 Syncfusion 时,它编译得很好。
  • 很高兴听到您重新站起来。正如您可能想象的那样,各种分析阶段的非线性可能意味着添加一些具有“有趣”模式的 dll 可能会导致我们失控。如果您遇到任何其他困难,请随时告诉我们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 2020-09-14
  • 2016-04-30
相关资源
最近更新 更多