如何在Windows Phone 8.1上禁用本机映像生成?

时间:2014-06-05 02:23:11

标签: c# c++ windows-phone-8.1 ngen

我有一个Windows Phone 8.1的c ++应用程序,它使用C#模块进行xml处理。该模块的NGEN'd版本从System.StubHelpers.InterfaceMarshaler.ConvertToNative抛出InvalidCastException,但非NGEN版本工作正常(更多详细信息:http://social.msdn.microsoft.com/Forums/en-US/16fa4316-d0ae-4aca-ac70-9946c6cc4dfb/ngend-dll-throws-exception-but-winmd-does-not?forum=wpdevelop)。

无论如何,作为解决潜在问题的解决方法,我想简单地禁用我的应用程序的原生图像生成。但是,在msdn上建议在appx的根目录中包含一个nongen.txt文件的方法似乎不起作用......文件在那里,但C#模块似乎仍然在进行NGEN。有没有其他人遇到这个/有没有人知道如何在Windows Phone 8.1上为应用程序禁用NGEN?

1 个答案:

答案 0 :(得分:2)

我设法从.NET Native那里得到了一个熟悉原生图像生成过程的人。显然,目前无法在Windows Phone上禁用本机映像生成。以下是完整的回复:

" Windows Phone不支持Nongen.txt。从技术上讲,NGen并不存在于手机上。与Windows相比,手机上的本机代码生成经历了一组完全不同的步骤。当通过手机应用程序商店部署应用程序时,目前没有支持跳过本机代码生成的机制。"

太糟糕了 - 这本来就是一个方便的解决方法。