在发布模式下构建 UWP 应用程序时出现错误 MCG0004:InternalAssert 断言失败

Error MCG0004:InternalAssert Assert Failed when building UWP app in release mode

我有一个用 C# 编写的 UWP 应用程序,它构建(VS 14.0.25425.01 Update 3 on Windows 10.0.14393,项目的目标版本是构建 14393)并在调试模式下运行,但未能在 Release 模式下构建,出现以下错误:

Microsoft.NetNative.targets(640,5): error : MCG0004:InternalAssert Assert Failed: field not found during [UNKNOWN]

没有进一步的细节,除了之前的两个警告,我不确定它们是否与问题有关:

Resources.System.Linq.Expressions.rd.xml(35): warning : ILTransform : warning ILT0027: Method 'CreateLambda' within 'System.Linq.Expressions.Expression' could not be found. Resources.System.Linq.Expressions.rd.xml(91): warning : ILTransform : warning ILT0027: Method 'ParameterIsAssignable' within 'System.Linq.Expressions.Expression' could not be found.

有什么问题可能与此相关的建议吗?

如果您在 VS 2015 中使用 .NET UWP 工具的 Beta 包,则会出现此错误。Beta 包仅在 2017 年受支持,因为我们依赖的 deployment/debugging 工作方式发生了变化.您应该可以通过从 "Microsoft.NETCore.UniversalWindowsPlatform": "5.3.0-beta2" 降级到 "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2"

来避免此问题

编辑:5.3.0 已发布并适用于 VS2017 RC3+。更多信息在这里:https://blogs.msdn.microsoft.com/dotnet/2017/01/30/announcing-net-core-net-native-and-nuget-updates-in-vs-2017-rc/

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