我有这个应用程序,在我的本地计算机和我的Windows Phone设备上,在调试模式下成功构建和运行,在尝试使用发布模式时,我得到以下3个错误:
错误内部编译器错误:发生一个或多个错误。
非泛型类型'PInvoke.NTSTATUS.Code__PInvoke_Windows_Core'不能与类型参数一起使用... obj \\ x64 \\ Release \\ ilc \\ intermediate \\ Liberte.Windows.Interop \\ SafeTypes.g.cs 333
找不到类型或名称空间名称'Value'(是否缺少using指令或程序集引用?)... 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有相同的错误。
我应该提到的是,我已经参考了另外两个项目,其中一个是使用PCLCrypto库的PCL项目,另一个是使用带有sqlight的EntityFramework 7预发行版本的通用应用程序库。
更新2:
我试图用.Net native禁用编译只是为了看看发生了什么,发布版本成功,但是应用程序在启动后崩溃并退出。
更新3:
我刚刚发现我在所引用的两个项目之一中使用的PCLCrypto
库引用了导致问题的两个库,并且在上面的错误中提到了它们,我在尝试卸载该库时发现了这一点看看是否是问题的原因:
我试图回滚到以前的稳定版本,在调试模式下编译,一切都很完美,当我再次尝试使用.Net native的发布模式时,我遇到了一个新问题 : Out of memory
。