亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CPF?使用C#的Native?AOT?發(fā)布程序的詳細過程

 更新時間:2022年03月31日 14:32:20   作者:DSkin  
這篇文章主要介紹了CPF?使用C#的Native?AOT?發(fā)布程序,本文給大家介紹的非常詳細,對大家的學習或工作具體一定的參考借鑒價值,需要的朋友可以參考下

微軟已經(jīng)將AOT的包移到Nuget了,之前是在實驗測試服務器上的。并且由之前的alpha版本改成了preview版本。

C#的開發(fā)效率,接近C++的運行效率,而且可以防止反編譯,可以支持大部分反射功能。還有幾個小問題,暫時不能支持x86,win7上運行aot的程序可能需要打補??!

CPF里使用AOT需要將項目改成net5以上版本,因為net5之后才有COM的包裝器,如果你只是給自己的控制臺程序AOT的話,可以用低版本的netcore

使用方式很簡單,編輯csproj,加入下面一段代碼,另外CPF的包版本需要換成最新的

<PropertyGroup>
    <IlcOptimizationPreference>Size</IlcOptimizationPreference>
    <IlcGenerateStackTraceData>false</IlcGenerateStackTraceData>
  </PropertyGroup>
  <ItemGroup>
    <RdXmlFile Include="rd.xml" />
    <PackageReference Include="Microsoft.DotNet.ILCompiler" Version="7.0.0-preview.2.22152.2" />
  </ItemGroup>

一般建議根據(jù)發(fā)布平臺的注釋掉其他平臺的適配器,以及刪除其他平臺的引用,用來減少發(fā)布的程序大小。比如如果發(fā)布Windows上的,可以把Mac和Linux的注釋掉。

另外需要注意的是使用AOT方式發(fā)布的話,需要到對應系統(tǒng)上發(fā)布,比如發(fā)布Linux的程序,就需要到Linux上發(fā)布。不支持跨操作系統(tǒng)編譯。

項目里增加個rd.xml文件,你可以根據(jù)需要添加一些反射的元數(shù)據(jù)描述

<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
  <Application>
    <Assembly Name="CPF" Dynamic="Required All" >
      <Type Name="CPF.Animation.KeyFrame`1[[CPF.Drawing.Color,CPF]]" Dynamic="Required All" />
    </Assembly>
    <Assembly Name="CPF.Windows" Dynamic="Required All">
      <Type Name="CPF.Windows.OpenGL.WglCreateContextAttribsARBDelegate" MarshalDelegate="Required All" />
    </Assembly>
  </Application>
</Directives>

一般的,項目右鍵,選擇發(fā)布。 如果你喜歡用命令行也是可以的。

選擇文件夾

設置好發(fā)布路徑,完成。

需要注意的是Windows端暫時只能用x64的,x86的好像還不行。需要用Release方式,Debug模式效果不好。設置好了之后,直接點發(fā)布。

之后一般等待一兩分鐘就行,你可以看到輸出那邊的相關信息

發(fā)布成功之后的程序,雙擊啟動秒開,比非AOT發(fā)布的啟動速度快多了。主程序小于30M,另外依賴一個7M的skia的dll

AOT后的程序也是可以調(diào)試的,帶上對應的pdb文件,然后采用附加進程的方式附加剛才啟動的程序,然后就可以進入斷點了

如果出現(xiàn)無法啟動程序的情況,你可以先把項目輸出類型改成控制臺再AOT之后運行,這樣就可以看到相關異常信息。比如反射類型缺失什么的,你可以編輯rd.xml文檔

更加詳細說明可以看看微軟的文檔 https://github.com/dotnet/runtimelab/tree/feature/NativeAOT/docs/using-nativeaot

到此這篇關于CPF 使用C#的Native AOT 發(fā)布程序的文章就介紹到這了,更多相關Native AOT 發(fā)布程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 獲取字符串中的漢字拼音首字母

    獲取字符串中的漢字拼音首字母

    獲取字符串中的漢字拼音首字母...
    2007-03-03
  • C#讀取文本文件到listbox組件的方法

    C#讀取文本文件到listbox組件的方法

    這篇文章主要介紹了C#讀取文本文件到listbox組件的方法,涉及C#操作文本文件及l(fā)istbox組件的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C#中字符串的加密的源碼

    C#中字符串的加密的源碼

    C#中字符串的加密的源碼...
    2007-03-03
  • C#實現(xiàn)的JS操作類實例

    C#實現(xiàn)的JS操作類實例

    這篇文章主要介紹了C#實現(xiàn)的JS操作類,封裝了C#關于javascript的彈出對話框、返回上一頁、跳轉(zhuǎn)等常用操作,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • WinForm使用正則表達式提取內(nèi)容的方法示例

    WinForm使用正則表達式提取內(nèi)容的方法示例

    這篇文章主要介紹了WinForm使用正則表達式提取內(nèi)容的方法,結(jié)合實例形式分析了WinForm基于正則匹配獲取指定內(nèi)容的相關操作技巧,需要的朋友可以參考下
    2017-05-05
  • unity使用socket實現(xiàn)聊天室功能

    unity使用socket實現(xiàn)聊天室功能

    這篇文章主要為大家詳細介紹了unity使用socket實現(xiàn)聊天室功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • C#中怎么將一個List轉(zhuǎn)換為只讀的

    C#中怎么將一個List轉(zhuǎn)換為只讀的

    以下是對C#中將一個List轉(zhuǎn)換為只讀的實現(xiàn)方法進行了介紹,需要的朋友可以過來參考下
    2013-08-08
  • C#實現(xiàn)加密與解密詳解

    C#實現(xiàn)加密與解密詳解

    本文詳細講解了C#實現(xiàn)加密與解密詳解的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • 詳解C# 不能用于文件名的字符

    詳解C# 不能用于文件名的字符

    在 Windows 有一些字符是不能作為文件名,嘗試重命名一個文件,輸入/ 就可以看到windows 提示的不能作為文件名的字符,那么具體是包括哪些符號不能作為文件名呢?下面小編給大家介紹下
    2018-02-02
  • C#數(shù)據(jù)結(jié)構(gòu)之順序表(SeqList)實例詳解

    C#數(shù)據(jù)結(jié)構(gòu)之順序表(SeqList)實例詳解

    這篇文章主要介紹了C#數(shù)據(jù)結(jié)構(gòu)之順序表(SeqList)實現(xiàn)方法,結(jié)合實例形式較為詳細的分析了順序表的定義、原理與具體實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11

最新評論