![](/img/trans.png)
[英]Error MCG0004:InternalAssert Assert Failed when building UWP app in release mode
[英]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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.