日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET Core 3.0 构建和部署

發布時間:2023/12/4 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core 3.0 构建和部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Default Executables?默認可執行文件?

?dotnet build??dotnet publish?期間,將創建一個與你使用的?SDK?的環境和平臺相匹配的可執行文件。?和其他本機可執行文件一樣,可以使用這些可執行文件執行相同操作,例如:??

  • 可以雙擊可執行文件。??

  • 可以直接從命令提示符啟用應用程序,如?Windows?上的?myapp.exe,以及?Linux??macOS?上的?./myapp?

?

下面是一個基于.NET Core 2.2的項目:?

?

當我Build該項目之后,在bin/Debug/netcoreapp2.2目錄下有這些文件:?

這里沒有.exe文件。?

?

下面是一個.NET Core 3.0的項目:?

?

當我build項目后,bin/Debug/netcoreapp3.0目錄下有這些文件:?

值得注意的就是,這里有一個exe文件,點擊它可以直接運行該項目。?

而且這個exe文件的大小也很小,這是因為它依賴于.NET Core運行時,它所需要的依賴項在我電腦上是全局可用的。?

還有另外一個地方也值得注意,項目所有的依賴也都復制到了這個輸出的文件夾里。?

?

Single-file Executables?單文件可執行文件?

這種部署方式很方便,、。dotnet publish?命令支持將應用打包為特定于平臺的單文件可執行文件。?該可執行文件是自解壓縮文件,包含運行應用所需的所有依賴項(包括本機依賴項)。?首次運行應用時,應用程序將根據應用名稱和生成標識符自解壓縮到一個目錄中。?再次運行應用程序時,啟動速度將變快。?除非使用了新版本,否則應用程序無需再次進行自解壓縮。?

?

下面針對這個.NET Core 3.0的項目,我們修改一下項目屬性,來實現Single-file Executables部署:?

?

build的話不會起作用,這個功能僅支持發布(publish):?

?

看一下輸出文件夾:?

實際上這里只有一個exe文件,沒有其它dll文件,而且這個exe文件很大,因為這里面包含了它需要的所有依賴。?

?

Assembly linking?程序集鏈接

目前這個exe有點大,.NET core 3.0 SDK?隨附了一種工具,可以通過分析?IL?并剪裁未使用的程序集來減小應用的大小。?

自包含應用包括運行代碼所需的所有內容,而無需在主計算機上安裝?.NET?但是,很多時候應用只需要一小部分框架即可運行,并且可以刪除其他未使用的庫。?

?.NET Core?現在包含一個設置,將使用?IL?鏈接器工具掃描應用的?IL?此工具將檢測哪些代碼是必需的,然后剪裁未使用的庫。?此工具可以顯著減少某些應用的部署大小。?

?

要啟用此工具,請使用項目中的?<PublishTrimmed>?設置并發布自包含應用:?

?

再次發布后:?

可以看到exe文件的大小減小了很多,這是因為這里只包含了這個項目真正用到的依賴。?

?

但是啟用這個特性的時候一定要注意,如果項目使用到了反射或相關動態功能(例如?ASP.NET Core??WPF,那么通常會在剪裁時損壞。?發生此損壞是因為鏈接器不知道此動態行為,并且不能確定反射需要哪些框架類型。?可配置?IL?鏈接器工具以發現這種情況。??

最重要的是,剪裁后務必對應用進行測試。?

?

ReadyToRun?鏡像?

可以通過將應用程序集編譯為?ReadyToRun (R2R)?格式來改進.NET Core?應用程序的啟動時間。?

?

?

這里首先把注釋掉<PublishTrimmed>,然后添加<PublishReadyToRun>?

?

發布:?

發布后會得到一個稍微大一點的exe文件,這是因為里面包含了原生代碼和IL(中間語言)版的程序。?

更詳細內容請查看原文鏈接。

總結

以上是生活随笔為你收集整理的.NET Core 3.0 构建和部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。