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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

.NET架构开发应知应会

發布時間:2023/12/4 asp.net 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET架构开发应知应会 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

 .NET程序是基于.NET framework、.NET Core、Mono、UWP【.NET實現】開發和運行的 ,定義以上【.NET實現】的標準規范稱為.NET Standard

?L1:.NET Standard

  .NET標準是一組API集合,由上層三種【.NET實現】的Basic Class Library實現,更正式的說法,由統一契約集合構成的規范,這個集合確保了在不同【.NET實現】之間的可移植性,能讓你的代碼 run everywhere。

  .NET Standard 也是一個 target framework。如果您的代碼針對的是.NET Standard的一個版本,那它可以在任意一個 支持該.NET Standard版本的.NET實現上運行。

L2:[.NET實現]

  上圖給出的是微軟積極支持和維護的有三個主要的【.NET實現】:.NET Framework,.NET Core,Mono

  ①.NET Framework

    最早期的.NET 實現, 4.5+版本開始實現.NET Standard? ? ??https://docs.microsoft.com/en-us/dotnet/standard/net-standard??https://docs.microsoft.com/en-us/dotnet/standard/frameworks

    早期的微軟比較閉源,.NET Framework 是為構建面向windows桌面環境而設計的,針對不同的應用程序形態設計了 WINFORM、 ASP.NET、WPF

  ②.NET Core

   是近幾年微軟擁抱開源的結晶,.NetCore是一個跨平臺的【.NET實現】,因為原生實現了.NET Standard(完全沒有版本包袱), 面向.NETStandard的代碼可以在.NET Core平臺上編譯和運行。

   針對Web程序.NetCore準備了ASP.NECore框架, 定位是微軟新一代高性能、開源、跨平臺Web開發框架, 目前最新穩定版本為2.2

  ? ?另外.NetCore 3.0即將支持WINFORM、WPF, 這樣將全面覆蓋.Net Framework 支持的應用程序形態。

  ③ Mono ??是一個微小運行時的 【.NET實現】,驅動 Xamarin,用于android,ios 等開發,支持目前所有公開的.NET standard 版本。

?本人近些年工作在.NetCore平臺, 有一些宏觀上的經驗之談, 可供參考。

 一:.NetCore部署目標的選擇

  部署目標是在Target Framework Moniker中定義, 決定了程序的部署定位, 常見有如下2種:

  • netstandard

  • netcoreapp

  在實踐中:項目早期可能是定位是 netstandard,后面隨著項目演進,依賴的庫越來越多,大部分都會變成netcoreapp.

  如L1所述 .NetStandard也是一個 target framework, 旨在在多個運行時(跨越.Net Framework,.NET Core, XAMARIN)上運行的程序應該以此框架為目標。

?  伴隨項目演進, 程序依賴的某些庫可能只有針對 .NetCore的版本;從生產實際看, 部署環境只會部署一套.Net Core運行時, 所以后期項目很大可能性會演進成 針對 .Net Core 運行時部署。

?

二:開發環境存在多SDK、多Runtime版本時,應當知曉 .NET Core工具、SDK和運行時版本選擇的策略。

  ① 當運行SDK命令,會使用安裝的最新版本命令

  ② 目標框架標記target framework monikers定義編譯時刻的API

編譯.NetCore程序的API是在項目文件的 Target framework Moniker中定義的,

<TargetFramework>netcoreapp2.0</TargetFramework>

<TargetFrameworks>netcoreapp2.0;net47</TargetFrameworks>

?  ③ 運行.NetCore程序( 框架獨立的.NetCore 程序 ), 在部署服務器上會適用版本前滾的策略

在項目文件中指定了netcoreapp2.0, 在部署環境中2.0.4 是安裝的最新運行時版本, 那么就會使用2.0.4運行時版本

  ④ 發布自包含的程序,自包含的部署程序會包含指定的運行時

部署自包含.NetCore 程序時, 部署文件包含了.NetCore 運行時和程序依賴的庫文件,自包含項目并不依賴 部署服務器上運行時環境,運行時版本選擇發生在發布階段,而不是在運行階段。

目前 自包含.NetCore程序使用場景不多,一般用于需要將程序應用到復雜的多種客戶環境中,這種部署方式可將運行時和依賴環境打包,不用去提前知曉客戶服務器運行時。

??Tip:針對策略① 有些特殊應用場景,如果項目需要使用早期的SDK版本,可在global.json文件中指定該早期版本,規避最新策略

原文地址:https://www.cnblogs.com/JulianHuang/p/11126915.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的.NET架构开发应知应会的全部內容,希望文章能夠幫你解決所遇到的問題。

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