UWP XAMARIN 在 RELEASE 模式下崩溃(但在调试中工作良好)

Posted

技术标签:

【中文标题】UWP XAMARIN 在 RELEASE 模式下崩溃(但在调试中工作良好)【英文标题】:UWP XAMARIN crashes in RELEASE mode (but good working in debug) 【发布时间】:2017-08-25 17:29:52 【问题描述】:

我使用 Xamarin 表单,UWP 项目。在我的项目中,我将文件嵌入为资源。在调试模式下它可以编译并运行良好,但在发布模式下它会崩溃。我能做些什么? 我尝试了很多技巧,但没有任何帮助。

我的错误:

Вызвано исключение: "System.IO.FileNotFoundException" в System.Private.Reflection.Core.dll
Вызвано исключение: "System.IO.FileNotFoundException" в System.Private.Reflection.Core.dll
"project.UWP.exe" (Win32). Загружено "C:\Windows\SysWOW64\Windows.Storage.ApplicationData.dll". Загрузка символов пропущена. Модуль состоит из машинного кода, а отладка машинного кода в данный момент отключена.
"project.UWP.exe" (Win32). Загружено "C:\Windows\SysWOW64\DWrite.dll". Загрузка символов пропущена. Модуль состоит из машинного кода, а отладка машинного кода в данный момент отключена.
"project.UWP.exe" (Win32). Загружено "C:\Windows\SysWOW64\Windows.Globalization.dll". Загрузка символов пропущена. Модуль состоит из машинного кода, а отладка машинного кода в данный момент отключена.
Вызвано исключение: "System.AggregateException" в System.Private.Threading.dll
Вызвано исключение: "Microsoft.CSharp.RuntimeBinder.RuntimeBinderException" в Microsoft.CSharp.dll
Вызвано исключение: "System.Reflection.MissingMetadataException" в System.Private.CoreLib.dll
Дополнительные сведения: Reflection_InsufficientMetadata_NoHelpAvailable: EETypeRva:0x0001e930. For more information, visit http://go.microsoft.com/fwlink/?LinkId=623485

Вызвано исключение: "System.Reflection.TargetInvocationException" в System.Private.CoreLib.dll
Вызвано исключение: "System.Reflection.MissingMetadataException" в System.Linq.Expressions.dll
Дополнительные сведения: Reflection_InsufficientMetadata_NoHelpAvailable: EETypeRva:0x0001e930. For more information, visit http://go.microsoft.com/fwlink/?LinkId=623485

Вызвано исключение: "System.Reflection.MissingMetadataException" в Newtonsoft.Json.dll
Дополнительные сведения: Reflection_InsufficientMetadata_NoHelpAvailable: EETypeRva:0x0001e930. For more information, visit http://go.microsoft.com/fwlink/?LinkId=623485

Вызвано исключение: "System.Reflection.MissingMetadataException" в Newtonsoft.Json.dll
Дополнительные сведения: Reflection_InsufficientMetadata_NoHelpAvailable: EETypeRva:0x0001e930. For more information, visit http://go.microsoft.com/fwlink/?LinkId=623485

Исключение типа "System.Reflection.MissingMetadataException" возникло в Newtonsoft.Json.dll, но не было обработано в коде пользователя
Дополнительные сведения: Reflection_InsufficientMetadata_NoHelpAvailable: EETypeRva:0x0001e930. For more information, visit http://go.microsoft.com/fwlink/?LinkId=623485

Вызвано исключение: "System.Reflection.MissingMetadataException" в project.UWP.McgInterop.dll
Дополнительные сведения: Reflection_InsufficientMetadata_NoHelpAvailable: EETypeRva:0x0001e930. For more information, visit http://go.microsoft.com/fwlink/?LinkId=623485

Исключение типа "System.Reflection.MissingMetadataException" возникло в project.UWP.McgInterop.dll, но не было обработано в коде пользователя
Дополнительные сведения: Reflection_InsufficientMetadata_NoHelpAvailable: EETypeRva:0x0001e930. For more information, visit http://go.microsoft.com/fwlink/?LinkId=623485

【问题讨论】:

【参考方案1】:

在发布模式下,UWP 应用使用 .NET Native 工具链编译。如果你想使用反射,那么你应该在 Default.rd.xml 文件中添加类型 DOC

【讨论】:

谢谢,我在哪里可以找到需要使用反射的类型?请你举个例子好吗? Msdn 在dotnet.github.io/native/troubleshooter/type.html 上提供链接,但我不明白他们的术语,我应该选择 All types in an assembly System.Reflection 吗? 我应该选择“我使用反射”和“我反射”?我不知道..

以上是关于UWP XAMARIN 在 RELEASE 模式下崩溃(但在调试中工作良好)的主要内容,如果未能解决你的问题,请参考以下文章

无法在发布模式下为 UWP 构建 Xamarin.Forms 应用

Xamarin表单UWP - 无法编译.NET Native工具链

在 Xamarin UWP 中创建包后,视频只能用语音播放,我看不到视频

如何更改 Xamarin UWP 应用名称

xamarin UWP masterdetailpage width 如何设置

如何在 xamarin 表单 UWP 中使用 AppWindow 打开多个窗口?