簡體   English   中英

在發布模式下構建uwp應用程序時出錯

[英]Error when building uwp app in Release mode

我有這個應用程序,在我的本地計算機和我的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

關於更新3 ,它似乎是.NET Native tool chain一個錯誤,我在PCLCrypto repo上打開了一個問題 ,該問題移至 corert repo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM