在发布模式下构建uwp应用程序时出错

时间:2016-03-22 01:57:07

标签: c# build visual-studio-2015 win-universal-app release

我有这个应用程序,它在我的本地计算机和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库引用了导致问题的两个库,并且在上面的错误中提到了它们,我发现了这个当试图卸载库以查看它是否是问题的原因:

enter image description here

我尝试回滚到以前的稳定版本,在调试模式下编译,一切运行正常,当我再次尝试使用.Net原生的发布模式时,我遇到了新的problemOut of memory。< / p>

1 个答案:

答案 0 :(得分:0)

关于更新3 ,这似乎是.NET Native tool chain的错误,我在PCLCrypto回购开了一个issue moved to { {1}} repo