微軟.Net Core是一款電腦系統必備組件,該工具是.Net大家庭中的一員,將用以替代年長的.Net Framework,開源免費使用,帶來更強的使用體驗!
軟件介紹
.NET Core 是.net framework的新一代版本,是微軟開發的第一個官方版本,具有跨平臺 (Windows、Mac OSX、Linux) 能力的應用程序開發框架 (Application Framework),未來也將會支持 FreeBSD 與 Alpine 平臺,也是微軟在一開始發展時就開源的軟件平臺[1] ,它經常也會拿來和現有的開源 .NET 平臺 Mono 比較。
由于 .NET Core 的開發目標是跨平臺的 .NET 平臺,因此 .NET Core 會包含 .NET Framework 的類庫,但與 .NET Framework 不同的是 .NET Core 采用包化 (Packages) 的管理方式,應用程序只需要獲取需要的組件即可,與 .NET Framework 大包式安裝的作法截然不同,同時各包亦有獨立的版本線 (Version line),不再硬性要求應用程序跟隨主線版本。
軟件特色
跨平臺
可以在Windows,macOS,Linux上運行
靈活的部署機制
1.Portable applications(便攜式應用)
這種部署機制和傳統的.NET Framework相似,只要目標平臺上存在.NET Core Runtime即可。
2.Self-contained application(自宿主應用)
顧名思義,這種部署機制將應用和運行時共同打包,即便目標平臺上沒有安裝.NET Core Runtime也能正常使用
第二種方式和.NET Native也是不一樣的,仍然使用CoreCLR,而.NET Native使用CoreRT作為運行時,詳細信息請見dotnet/corert
命令行工具
.NET程序所有的運行腳本都可以用命令行工具執行(cmd,bash)這里有幾個常見的donnet命令
兼容性
通過.NET Standard Library與.NET Framework,Xamarin,Mono兼容
開源
.NET Core從屬于.NET基金會,由微軟進行官方支持。使用MIT和Apache 2開源協議,文檔協議遵循CC-BY
軟件特色
支持或可以移轉 (port) 到更多的操作系統平臺與芯片架構 (也就是未來項目會跨出 x86 平臺)。
具有引人注目的性能與高可靠度。
開發人員能快速與直覺的獲取 .NET Core 開發環境。
在直覺與具生產力的情況下建造應用程序,使用文件,示例與 NuGet 組件。
和.net區別
對于初次接觸.NET Core的用戶來說,最大的疑惑應該就是該工具與經典的.NET Framework有什么區別了,他們同屬于.NET家族,有著類似的開發實現方式,也同樣在VS開發,很多內容上接近甚至相同,他們有什么具體不同呢?下面的講解很精妙的對其進行講解,一起看看吧。
1. 簡單說,都是.net standard所定義的接口的實現,都是 .net standard的兒子。
2.
.NET Core & .NET Framework 都是 NET Standard Library 的實現,一種是跨平臺,而另一種是Windows下特有的,除實現NET Standard Library外 .NET Core 和 .NET Framework 都有各自特有的實現。.NET Standard Library 是跨操作系統的關鍵所在,它定義了一組接口,而每個操作系統有各自的實現,.NET Core通過nuget可以動態下載當前操作系統的實現,從而實現跨操作系統(暨跨操作系統共享代碼)。
.NET Core 更依賴于Nuget,允許本地application在部署時動態下載需要的class library。而.NET Framework需要在系統中預裝。這樣.NET Core的部署比.NET Framework 更簡單快速同樣也更輕便。
ASP.NET Core 有兩種形態的存在:
ASP.NET Core Web Application(.NET Core)
依賴于.NET Core的ASP.NET 只可以調用.NET Core的API,可以在多個操作系統上運行。(可見下圖下半部分的Reference Manager,在assemblies中沒有.NET Framework 中的庫)
ASP.NET Core Web Application(.NET Framework)
依賴于.NET Core & .NET Framework 的ASP.NET 可以調用.NET Core&.NET Framework的API ,只可以在Windows下運行
3 .NET Core & Mono
Mono是.NET Framework的開源版本的實現,在某些特性上和.NET Core 很類似比如開源,跨操作系統。目前.NET CORE 會從Mono上吸取經驗,發展壯大最終可以更好的在除Windows外的其他操作系統上運行。另外Mone支持的App Models要比.NET Core多(例如Windows Forms)。
怎么開發網站
初次接觸.NET Core想要對網站進行開發要怎么操作呢?流程上并不難,并且和.NET Framework一樣易用,下面就來看教程講解吧:
一、創建MVC項目
編輯器推薦VSCode
在要創建項目的地址創建一個文件夾,例如Demo,然后在命令行模式下進入到當前的目錄,例如我這里是D:\Demo
以下代碼都可以在VSCode中直接輸入,操作步驟是"查看 => 集成終端"
新建項目之后可以看到文件夾下已經生成了對應的文件
這個時候我們執行 命令,可以安裝項目的依賴文件。執行 命令后就可以在本地 的地址上訪問到界面。
最終,我們需要發布項目,執行 命令就可以將項目發布到當前文件夾的 下,需要部署時只要將publish文件夾復制到服務器上進行部署即可。
二、項目部署到服務器
部署之前一定要確定項目編譯通過無錯誤,并且已經安裝dotnet-sdk 以及 dotnet-runtime,兩者版本要一致!兩者版本要一致!兩者版本要一致!
在IIS服務器上部署:
在IIS上部署相對要簡單很多,畢竟都是自家玩意兒,只需要在IIS上新建一個網站,然后選擇基本設置,將物理路徑選擇自己項目的路徑即可。
在CentOS服務器上部署:
在Linux服務器上部署的步驟就多了些。首先,依然是要確定項目編譯通過無錯誤,并且已經安裝dotnet-sdk 以及 dotnet-runtime,兩者版本要一致!兩者版本要一致!兩者版本要一致!
然后,我們需要安裝Jexus,通常情況下,對外提供的 Web 服務都在 80或者443 端口,而我們的 Web 應用程序默認運行在5000端口,在 Windows 上可以使用 IIS 來宿主 ASP.NET Core,在 Linux 下可以用 Nginx,Apache,Jexus 等來作為宿主。本實驗向大家推薦使用國內社區自行開發的 Jexus。
微服務搭建教程
.NET Core具有微服務功能,能為你在開發時帶來非常不錯的便利,下面的教程將對如何搭建微服務進行講解,一起看看吧。
這個教程主要是對于第一次使用dotnet core開發的同學。
運行環境是在centos 7 ,
使用了docker容器。
即這是一篇運行在linux的docker容器上的微服務的簡單應用。
一. 安裝.NET SDK
安裝.NET之前,先安裝一些依賴,運行下面的命令
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
安裝成功后,再安裝.NET SDK
sudo yum update //對整個系統升級 sudo yum install dotnet-sdk-2.2 //安裝.net sdk
檢驗下是否安裝成功
dotnet
二.創建服務
運行下面的命令
dotnet new webapi -o myMicroservice --no-https cd myMicroservice
dotnet會創建一個webapi類型的應用。
-o :表示會創建一個名字為myMicroservice的目錄
--no-https :表示這個應用運行的時候不需要https證書,這是為了部署時方便
cd myMicroservice:表示進入到這個新創建的目錄
上面的命令運行以后會生成一些文件,這里對部分文件進行講解:
myMicroservice.csproj:定義了這個應用引用 的一些libraries
Startup.cs:包含所有的setting和應用啟動時的配置文件
Controllers/ValuesController.cs:是一個簡單的api
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
public ActionResult<ienumerable
{
return new string[] { "value1", "value2" };
}
}
三.運行服務
dotnet run
輸入:https://localhost:5000/api/Values 瀏覽效果
device-mapper-persistent-data和lvm2兩個包。
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2.安裝穩定的庫
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.列出庫中可用的docker版本,選擇版本安裝
yum list docker-ce
4.安裝指定的版本。
sudo yum install docker-ce
5.啟動并加入開機啟動
$ sudo systemctl start docker $ sudo systemctl enable docker
6.檢驗是否安裝成功
docker --version
五.添加Docker元數據(Docker metadata)
想要讓docker鏡像(docker image)運行,你需要一個Dockerfile文件。這個文件中包含怎么把應用打包成鏡像的說明。
1.進入應用目錄
cd myMicroservice
2.新增一個Dockerfile
echo . > Dockerfile
把下面的內容復制到里面
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY myMicroservice.csproj myMicroservice/
RUN dotnet restore myMicroservice/myMicroservice.csproj
WORKDIR /src/myMicroservice
COPY . .
RUN dotnet build myMicroservice.csproj -c Release -o /app
FROM build AS publish
RUN dotnet publish myMicroservice.csproj -c Release -o /app
FROM base AS final
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "myMicroservice.dll"]
六.創建一個Docker鏡像
docker build -t mymicroservice .
docker build命令使用Dockerfile中的信息建立一個docker鏡像
-t mymicroservice:把鏡像命名為 mymicroservice
. :表示Dockerfile在當前目錄
列出可用的鏡像
docker image ls
七. 運行Docker鏡像
執行下面的命令
docker run -it --rm -p 3000:80 mymicroservice
訪問下面的網址:https://localhost:3000/api/values
好了,結束。
更新內容
編譯性能大幅度提升,編譯并發布代碼確確實實地快了,這次真沒有吹牛;
ASP.NET Core的響應速度有了顯著提升,打開網頁速度“刷刷刷”,程序在我的Macbook上也“健步如飛”;
之前編譯的時候會出現一些警告和錯誤信息,(在官方論壇上確定是編譯器的bug)現在都沒有了,修正了;
ASP.NET Core提供了一些新的Tag及幫助方法,很有用

微軟旗下軟件都有什么是不少用戶咨詢的問題,這家行業巨頭不僅有著占有霸主地位的操作系統,也有各種強大的開發平臺和運行環境,更有著海量生產力的工具軟件,小編這里將微軟好用的軟件下載進行集合,用戶能在這里找到對軟件的需求。
精品推薦
網友評論