成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

.Net FrameWork下面如何生成AOT呢?

開發(fā) 前端
現(xiàn)在的.Net已經(jīng)到了.Net8了,它的AOT程序已經(jīng)可以單個Exe運行在MacOS/Linux/Win等平臺上。但是在.Net FrameWorker上面如果想用AOT應(yīng)該怎么搞呢?

前言

有人問.Net FrameWorker可以AOT嗎?其實AOT預(yù)編譯,在.Net FrameWorker1.0里面就有了。它叫做Ngen,只不過當(dāng)時稱呼生成本機映像,實際上還是一個東西,也就是預(yù)編譯。很多小伙伴還在用.Net FrameWorker版本,本篇也來看下。

概括

1.介紹

現(xiàn)在的.Net已經(jīng)到了.Net8了,它的AOT程序已經(jīng)可以單個Exe運行在MacOS/Linux/Win等平臺上。但是在.Net FrameWorker上面如果想用AOT應(yīng)該怎么搞呢?

微軟很早之前就提供了一個小工具,叫做:Ngen.exe。它跟你安裝Visual Studio的時候一起安裝進來了。它的路徑一般的在:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe //注意這里是64位的

它就是讓不跨平臺的.Net Frameworker生成本地機器碼,然后執(zhí)行。

2.用法

應(yīng)該怎么用它呢?

一:代碼假如說你有以下.Net Frameworker代碼,項目名稱NgenDemo

static void Main(string[] args)
{
    Console.WriteLine("hello Ngen Call The Main Method");
    Console.ReadLine();
}

二.注意事項:

注意一:把VS里的AnyCpu切換成X64注意二:打開VS命令行工具,選擇64位的注意三:要以管理員的身份運行64位VS命令行工具三:生成比如把以上NgenDemo這個項目放到桌面上。在Visual Studio里面摁F5運行下,在目錄:

C:\Users\Administrator\Desktop\NgenDemo\bin\x64\Debug

下面會生成:NgenDemo.exe。

打開VS命令行工具:

x64 Native Tools Command Prompt for VS 2022  //注意這里是64位的

運行如下命令:ngen.exe install后面跟著NgenDemo.exe路徑

C:\Windows\System32>ngen.exe install "C:\Users\Administrator\Desktop\NgenDemo\bin\x64\Debug\NgenDemo.exe"
Microsoft (R) CLR Native Image Generator - Version 4.8.9065.0
Copyright (c) Microsoft Corporation.  All rights reserved.
1>    Compiling assembly C:\Users\Administrator\Desktop\NgenDemo\bin\x64\Debug\NgenDemo.exe (CLR v4.0.30319) ...

查看下生成的映像是否正確:

C:\Windows\System32>ngen.exe display "C:\Users\Administrator\Desktop\NgenDemo\bin\x64\Debug\NgenDemo.exe"
Microsoft (R) CLR Native Image Generator - Version 4.8.9065.0
Copyright (c) Microsoft Corporation.  All rights reserved.
NGEN Roots:
C:\Users\Administrator\Desktop\NgenDemo\bin\x64\Debug\NgenDemo.exe
NGEN Roots that depend on "C:\Users\Administrator\Desktop\NgenDemo\bin\x64\Debug\NgenDemo.exe":
C:\Users\Administrator\Desktop\NgenDemo\bin\x64\Debug\NgenDemo.exe
Native Images:
NgenDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null <debug>

可以看到映像已經(jīng)生成了。

到目錄:

C:\Windows\assembly\NativeImages_v4.0.30319_64 //注意它這個最后面的64是64位

里面看到一堆文件,它就是生成本機映像,以及本機緩存。此后在本機運行的時候,可以直接雙擊NgenDemo.exe就可以運行了。

如果想要卸載本機映像,運行如下命令:

C:\Windows\System32>ngen.exe uninstall "C:\Users\Administrator\Desktop\NgenDemo\bin\x64\Debug\NgenDemo.exe"
Microsoft (R) CLR Native Image Generator - Version 4.8.9065.0
Copyright (c) Microsoft Corporation.  All rights reserved.
Uninstalling assembly C:\Users\Administrator\Desktop\NgenDemo\bin\x64\Debug\NgenDemo.exe

就可以卸載了。

以上就是.Net Framework生成的本機映像。它有一些缺陷,每個機器上都要生成一次,其次它的程序集緩存不能合并到一起,需要C:\Windows\assembly路徑下的文件支持,才能夠運行。

所以后面微軟開啟了corert項目以及現(xiàn)在的nativeAOT項目,都是意圖取代它。

責(zé)任編輯:武曉燕 來源: 江湖評談
相關(guān)推薦

2024-10-11 14:42:59

2009-12-30 14:12:53

ADO.NET Fra

2023-07-11 00:17:58

.Net8AOTC

2023-07-09 23:55:16

C++RoslynILC

2010-01-06 15:56:18

.Net Framew

2010-01-06 18:27:06

.Net Framew

2009-07-20 16:12:21

ASP.NET Fra

2010-01-05 10:24:16

.NET Framew

2009-08-26 14:23:14

C#.Net Fram

2009-12-15 11:28:34

.NET Framew

2023-09-11 08:40:34

AOTVMP代碼

2009-06-05 09:49:18

修改.NET Frammscorlib.dl

2009-12-14 16:59:57

.NET Framew

2009-12-15 15:13:07

.NET Framew

2009-12-18 14:55:26

.Net FrameW

2010-01-05 09:35:07

.Net Framew

2010-01-05 13:56:37

2010-01-05 14:33:09

.NET Framew

2010-01-05 16:20:46

.NET Framew

2010-01-05 17:16:28

.NET Framew
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一区二区三区精品视频 | 欧美性区 | 亚洲国产精品久久 | 男女精品网站 | 欧美黄在线观看 | av看片网站| 国产精品自产av一区二区三区 | 中文字幕一区二区三区不卡 | 午夜久久久久久久久久一区二区 | 日韩成人免费视频 | 视频一区 国产精品 | 免费看国产精品视频 | 国产美女自拍视频 | 欧美日产国产成人免费图片 | 久久成人精品视频 | 欧美日韩精品区 | 亚洲一区二区三区在线免费观看 | 毛片免费观看视频 | 国产免费福利在线 | 91精品国产91久久久久久丝袜 | 日韩区 | 亚洲www啪成人一区二区 | 中文字幕一区二区三区精彩视频 | 一区二区三区国产精品 | 色橹橹欧美在线观看视频高清 | 在线一级片 | 韩日av在线| 国产免费让你躁在线视频 | 成年人在线 | 亚洲首页 | 国产亚洲精品精品国产亚洲综合 | 在线播放一区 | 国产精品国产a级 | 毛片一区二区 | 国产精品久久久久久久久久久免费看 | 在线国产中文字幕 | 日本天堂视频在线观看 | 亚洲色欲色欲www | 精品一区二区三区av | 男女污污网站 | 久久久久国产一区二区三区 |