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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

views 多个文件夹 netcore_.NET Core 分发打包

發(fā)布時間:2024/7/23 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 views 多个文件夹 netcore_.NET Core 分发打包 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

由于 .NET Core 現(xiàn)已可用于更多平臺,因此了解如何為其打包、命名并進(jìn)行版本控制將很有用。 這樣,無論用戶選擇在哪里運行 .NET,包維護(hù)人員均可以幫助確保獲得一致的體驗。 本文對以下用戶非常有用:

  • 嘗試從源生成 .NET Core。
  • 想要更改 .NET Core CLI,但更改可能會影響生成的布局或包。

磁盤布局

安裝時,.NET Core 包含一些組件,這些組件在文件系統(tǒng)中排列如下:

復(fù)制

{dotnet_root} (*)├── dotnet (1)├── LICENSE.txt (8)├── ThirdPartyNotices.txt (8)├── host (*)│ └── fxr (*)│ └── (2)├── sdk (*)│ ├── (3)│ └── NuGetFallbackFolder (4) (*)├── packs (*)│ ├── Microsoft.AspNetCore.App.Ref (*)│ │ └── (11)│ ├── Microsoft.NETCore.App.Ref (*)│ │ └── (12)│ ├── Microsoft.NETCore.App.Host. (*)│ │ └── (13)│ ├── Microsoft.WindowsDesktop.App.Ref (*)│ │ └── (14)│ └── NETStandard.Library.Ref (*)│ └── (15)├── shared (*)│ ├── Microsoft.NETCore.App (*)│ │ └── (5)│ ├── Microsoft.AspNetCore.App (*)│ │ └── (6)│ ├── Microsoft.AspNetCore.All (*)│ │ └── (6)│ └── Microsoft.WindowsDesktop.App (*)│ └── (7)└── templates (*)│ └── (17)/├── etc/dotnet│ └── install_location (16)├── usr/share/man/man1│ └── dotnet.1.gz (9)└── usr/bin └── dotnet (10)
  • (1) dotnet 主機(也稱為“muxer”)有兩個不同角色:激活運行時以啟動應(yīng)用程序,及激活 SDK 以向其分派命令。 主機是本機可執(zhí)行文件 (dotnet.exe)。

主機只有一個,不過大部分的其他組件都在帶有版本的目錄中(2、3、5 和 6)。 這意味著系統(tǒng)上可存在多個版本,因為它們是并排安裝的。

  • (2) host/fxr/ 包含了主機所使用的框架解析邏輯。 主機采用已安裝的最新 hostfxr。 在執(zhí)行 .NET Core 應(yīng)用程序時,hostfxr 負(fù)責(zé)選擇合適的運行時。 例如,為 .NET Core 2.0.0 生成的應(yīng)用程序會使用 2.0.5 運行時(如果可用)。 同樣,hostfxr 在開發(fā)期間也會選擇適當(dāng)?shù)?SDK。
  • (3) sdk/ SDK(也稱為“工具”)是一組托管工具,可用于編寫和生成 .NET Core 庫和應(yīng)用程序。 SDK 包括 .NET Core CLI、托管的語言編譯器、MSBuild 及相關(guān)生成任務(wù)和目標(biāo)、NuGet、新項目模板等。
  • (4) sdk/NuGetFallbackFolder 包含 SDK 在還原操作期間使用的 NuGet 包的緩存,例如在運行 dotnet restore 或 dotnet build 時。 此文件夾僅在 .NET Core 3.0 之前使用。 不能從源生成它,因為它包含來自 nuget.org 的預(yù)構(gòu)建二進(jìn)制資產(chǎn)。

“共享” 文件夾包含框架。 共享框架提供一組位于中心位置的庫,從而讓不同的應(yīng)用程序使用。

  • (5) shared/Microsoft.NETCore.App/ 此框架包含.NET Core 運行時和支持托管庫。
  • (6) shared/Microsoft.AspNetCore.{App,All}/ 包含 ASP.NET Core 庫。 已開發(fā)且支持 Microsoft.AspNetCore.App 下的庫(作為 .NET Core 項目的一部分)。 Microsoft.AspNetCore.All 下的庫是一個超集,其中還包含第三方庫。
  • (7) shared/Microsoft.Desktop.App/ 包含 Windows 桌面庫。 在非 Windows 平臺上不包含此項。
  • (8) LICENSE.txt,ThirdPartyNotices.txt 分別是 .NET Core 許可證和 .NET Core 中使用的第三方庫的許可證。
  • (9,10) dotnet.1.gz, dotnet dotnet.1.gz 是 dotnet 手冊頁。 dotnet 是指向 dotnet 主機 (1) 的符號鏈接。 這些文件安裝在已知位置用于系統(tǒng)集成。
  • (11,12) Microsoft.NETCore.App.Ref,Microsoft.AspNetCore.App.Ref 分別描述了 x.y 版本 .NET Core 和 ASP.NET Core 的 API。 針對這些目標(biāo)版本進(jìn)行編譯時,將使用這些包。
  • (13) Microsoft.NETCore.App.Host. 包含平臺 rid 的本機二進(jìn)制文件。 將 .NET Core 應(yīng)用程序編譯為適用于該平臺的本機二進(jìn)制文件時,將使用此二進(jìn)制文件作為模板。
  • (14) Microsoft.WindowsDesktop.App.Ref 介紹 Windows 桌面應(yīng)用程序 x.y 版本的 API。 在針對該目標(biāo)進(jìn)行編譯時,將使用這些文件。 在非 Windows 平臺上不提供此項。
  • (15) NETStandard.Library.Ref 描述了 netstandard x.y API。 在針對該目標(biāo)進(jìn)行編譯時,將使用這些文件。
  • (16)“/etc/dotnet/install_location”是一個包含 {dotnet_root} 完整路徑的文件 。 該路徑可能以換行符結(jié)尾。 根路徑為 /usr/share/dotnet 時無需添加此文件。
  • (17) templates 包含 SDK 使用的模板。 例如,dotnet new 在此處查找項目模板。

標(biāo)記為 (*) 的文件夾被多個包使用。 某些包格式(例如,rpm)需要對此類文件夾進(jìn)行特殊處理。 包維護(hù)人員必須處理這個問題。

推薦的包

.NET Core 版本控制基于運行時組件 [major].[minor] 版本號。 SDK 版本采用相同的 [major].[minor],并有一個獨立的 [patch],它為 SDK 合并了功能和修補語義。 例如:SDK 版本 2.2.302 是支持 2.2 運行時的 SDK 的第 3 個功能版本的第 2 個補丁版本。 有關(guān)版本控制的工作原理的詳細(xì)信息,請參閱 .NET Core 版本控制概述。

一些包在自己的名稱中就包含一部分版本號。 這允許你安裝特定版本。 版本名稱中不包含版本的剩余部分。 這允許 OS 包管理器更新這些包(例如,自動安裝安全修補程序)。 支持的包管理器特定于 Linux。

下面列出了推薦的包:

  • dotnet-sdk-[major].[minor] - 安裝特定運行時的最新 SDK版本: 示例: dotnet-sdk-2.1包含: (3),(4)依賴項: dotnet-runtime-[major].[minor]、aspnetcore-runtime-[major].[minor]、dotnet-targeting-pack-[major].[minor]、aspnetcore-targeting-pack-[major].[minor]、netstandard-targeting-pack-[netstandard_major].[netstandard_minor]、dotnet-apphost-pack-[major].[minor]、dotnet-templates-[major].[minor]
  • aspnetcore-runtime-[major].[minor] - 安裝特定 ASP.NET Core 運行時版本: 示例: aspnetcore-runtime-2.1包含: (6)依賴項: dotnet-runtime-[major].[minor]
  • dotnet-runtime-deps-[major].[minor] (可選) - 安裝運行自包含應(yīng)用程序的依賴項版本: 示例: dotnet-runtime-deps-2.1依賴項: 特定于分發(fā)的依賴項
  • dotnet-runtime-[major].[minor] - 安裝特定運行時版本: 示例: dotnet-runtime-2.1包含: (5)依賴項: dotnet-hostfxr-[major].[minor]、dotnet-runtime-deps-[major].[minor]
  • dotnet-hostfxr-[major].[minor] - 依賴項版本: 示例: dotnet-hostfxr-3.0包含: (2)依賴項: dotnet-host
  • dotnet-host - 依賴項版本: 示例: dotnet-host包含: (1),(8),(9),(10),(16)
  • dotnet-apphost-pack-[major].[minor] - 依賴項版本: 包含: (13)
  • dotnet-targeting-pack-[major].[minor] - 允許面向非最新的運行時版本: 包含: (12)
  • aspnetcore-targeting-pack-[major].[minor] - 允許面向非最新的運行時版本: 包含: (11)
  • netstandard-targeting-pack-[netstandard_major].[netstandard_minor] - 允許面向 netstandard 版本版本: 包含: (15)
  • dotnet-templates-[major].[minor]版本: 包含: (15)

dotnet-runtime-deps-[major].[minor] 需要了解發(fā)行版特定依賴項 。 因為發(fā)行版生成系統(tǒng)可能能夠自動派生包,所以包是可選的,如果選擇,會將這些依賴項直接添加到 dotnet-runtime-[major].[minor] 包中。

當(dāng)包內(nèi)容位于受版本控制的文件夾下時,包名稱 [major].[minor] 與受版本控制的文件夾名稱匹配。 對于所有包(除 netstandard-targeting-pack-[netstandard_major].[netstandard_minor] 外),這也與 .NET Core 版本匹配。

包間的依賴關(guān)系應(yīng)使用“等于或大于”版本要求 。 例如,dotnet-sdk-2.2:2.2.401 要求 aspnetcore-runtime-2.2 >= 2.2.6。 這使用戶可以通過根包(例如 dnf update dotnet-sdk-2.2)升級其安裝。

大多數(shù)分發(fā)都需要從源中構(gòu)建所有項目。 這對包有一些影響:

  • 不能簡單地從源生成 shared/Microsoft.AspNetCore.All 下的第三方庫。 因此 aspnetcore-runtime 包中省略了該文件夾。
  • 使用 nuget.org 中的二進(jìn)制項目填充了 NuGetFallbackFolder。 它應(yīng)保留為空。

多個 dotnet-sdk 包可能會為 NuGetFallbackFolder 提供同樣的文件。 若要避免包管理器出現(xiàn)問題,這些文件應(yīng)完全相同(包括校驗和、修改日期等等)。

生成包

dotnet/source-build 存儲庫中說明了如何生成 .NET Core SDK 的源 tarball 及其所有組件。 源版本存儲庫中的輸出內(nèi)容符合本文第一部分中所描述的布局。

總結(jié)

以上是生活随笔為你收集整理的views 多个文件夹 netcore_.NET Core 分发打包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。