【问题标题】:Error when building uwp app in Release mode在发布模式下构建 uwp 应用程序时出错
【发布时间】:2016-07-08 18:45:10
【问题描述】:

我有这个应用程序,它可以在本地计算机和 Windows Phone 设备上以调试模式成功构建和运行,在尝试使用发布模式时,我收到以下 3 个错误:

错误 内部编译器错误:出现一个或多个错误。

非泛型类型“PInvoke.NTSTATUS.Code__PInvoke_Windows_Core” 不能与类型参数一起使用 ...obj\x64\Release\ilc\intermediate\Liberte.Windows.Interop\SafeTypes.g.cs 333

找不到类型或命名空间名称“值”(您是否缺少 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内容,再次重建,但仍然有同样的错误。

我应该提一下,也许我参考了其他 2 个项目,其中一个是使用 PCLCrypto 库的 PCL 项目,另一个是使用 EntityFramework 7 pre-release with sqlight 的通用应用程序库。

更新 2:

我试图禁用 .Net native 的编译只是为了看看发生了什么,发布构建成功,但应用程序在启动后崩溃并退出。

更新 3:

我刚刚发现我在我引用的两个项目之一中使用的 PCLCrypto 库引用了两个导致问题的库,并且在上面的错误中提到了它们,我在尝试时发现了这一点卸载库,看看是否是问题的原因:

我尝试回滚到以前的稳定版本,在调试模式下编译,一切正常,当我再次尝试使用 .Net native 发布模式时,我遇到了一个新的problemOut of memory

【问题讨论】:

  • 你应该尝试关闭VS,删除项目根目录下的/obj和/bin文件夹,然后重建解决方案
  • @new01bie : 谢谢你的回答,请查看我的更新
  • 您在发布模式下使用 .Net Native 吗?如果“是” - 尝试删除它(在主项目的属性中)并再次尝试。
  • @NikitaBondarenko 感谢您的评论,我刚刚尝试过,构建成功,但该应用程序在启动后崩溃,知道吗??
  • 是同一个异常还是另一个?输出窗口中的任何错误?你说“应用程序在启动后崩溃并退出” - 之后是什么?在 App.cs 中的构造函数之后或导航到第一个(主)页面之后?

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


【解决方案1】:

关于Update 3,这似乎是.NET Native tool chain 的一个错误,我在PCLCrypto repo 上打开了issue moved to corert repo

【讨论】:

    猜你喜欢
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 2021-01-23
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    相关资源
    最近更新 更多