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

微軟旗下軟件都有什么是不少用戶咨詢的問題,這家行業(yè)巨頭不僅有著占有霸主地位的操作系統(tǒng),也有各種強(qiáng)大的開發(fā)平臺(tái)和運(yùn)行環(huán)境,更有著海量生產(chǎn)力的工具軟件,小編這里將微軟好用的軟件下載進(jìn)行集合,用戶能在這里找到對(duì)軟件的需求。
下載地址
精品推薦
-
Microsoft .Net Framework4.7.2中文版
詳情 -
.Net3.5
詳情 -
.Net3.5 64位win10離線安裝包
詳情 -
MarkdownPad2
詳情 -
.Net Framework 4.0 32位離線安裝包
詳情 -
RPGVXACE RTP
詳情 -
Cmder(windows命令行工具)
詳情 -
jetbrains全系列激活工具
詳情 -
鯨魚積木編程專業(yè)版
詳情 -
lodop打印控件破解版
詳情 -
Jar to Exe
詳情 -
CFF Explorer VIII
詳情 -
Bat To Exe Converter
詳情 -
Scratch Link
詳情 -
Playmaker可視化編程插件
詳情 -
python打包小工具
詳情
-
1 Apifox
裝機(jī)必備軟件
網(wǎng)友評(píng)論