我有这个应用程序,它在我的本地计算机和Windows Phone设备上以调试模式成功构建和运行,在尝试使用发布模式时,我收到以下3个错误:
错误内部编译器错误:发生了一个或多个错误。
非泛型类型'PInvoke.NTSTATUS.Code__PInvoke_Windows_Core' 不能与类型参数一起使用 ... obj \ x64 \ Release \ ilc \ intermediate \ Liberte.Windows.Interop \ SafeTypes.g.cs 333
找不到类型或命名空间名称“Value”(您是否遗漏了) 使用指令或程序集 引用?)... obj \ x64 \ Release \ ilc \ intermediate \ Liberte.Windows.Interop \ SafeTypes.g.cs 333
检测到最后两个错误的实际代码是名为SafeTypes.g.cs
的文件下的自动生成代码,并且引发错误的行是:
namespace PInvoke
{
[global::System.Runtime.InteropServices.McgRedirectedType("PInvoke.NTSTATUS,PInvoke.Windows.Core, Version=0.1.0.0, Culture=neutral, PublicKeyToken=9e300f9f87f04a7a")]
public unsafe partial struct NTSTATUS__PInvoke_Windows_Core
{
public global::PInvoke.NTSTATUS.Code__PInvoke_Windows_Core <Value>k__BackingField;
}
}
我不知道这是什么意思,也不知道我应该怎么做,对此有任何解释和解决方案?
更新:
尝试关闭VS,然后删除Obj和Bin内容,再次重建,但stuill也有同样的错误。
我应该提一下,我可能参考了其他2个项目,其中一个是使用PCLCrypto库的PCL项目,另一个是使用EntityFramework 7预发布和sqlight的通用应用程序库。
更新2:
我尝试使用.Net native禁用编译只是为了看看发生了什么,发布版本成功,但是应用程序在启动后崩溃并退出。
更新3:
我刚刚发现我在我引用的两个项目之一中使用的PCLCrypto
库引用了导致问题的两个库,并且在上面的错误中提到了它们,我发现了这个当试图卸载库以查看它是否是问题的原因:
我尝试回滚到以前的稳定版本,在调试模式下编译,一切运行正常,当我再次尝试使用.Net原生的发布模式时,我遇到了新的problem:Out of memory
。< / p>