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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

asp.net

温故知新,DotNet Core SDK和.Net CLI十八般武艺

發(fā)布時(shí)間:2023/12/4 asp.net 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 温故知新,DotNet Core SDK和.Net CLI十八般武艺 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)介

.NET命令行接口 (CLI) 工具是用于開(kāi)發(fā)、生成、運(yùn)行和發(fā)布.NET應(yīng)用程序的跨平臺(tái)工具鏈。

https://docs.microsoft.com/zh-cn/dotnet/core/tools/

SDK

  • .NET SDK (Software Development Kit) v5.0.201.exe

里程碑發(fā)布日期
.NET Core 2.1.x (servicing)LTS (Long Term Support) release. Approximately every 1-2 months or as needed.
.NET Core 3.1.x (servicing)LTS (Long Term Support) release. Approximately every 1-2 months or as needed.
.NET 5.0Release scheduled for November 2020
.NET 6.0LTS (Long Term Support) release, scheduled for November 2021
.NET 7.0Release scheduled for November 2022
.NET 8.0LTS (Long Term Support) release, scheduled for November 2023
  • https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install

  • https://github.com/dotnet/core/blob/main/roadmap.md

檢查安裝

dotnet

新建

dotnet new $templateName

其中常見(jiàn)的模板名稱(chēng)有:

模板名字短名稱(chēng)版本要求
控制臺(tái)應(yīng)用程序console>= 1.0
類(lèi)庫(kù)classlib>= 1.0
WPF應(yīng)用程序wpf>= 3.0
WPF類(lèi)庫(kù)wpflib>= 3.0
WPF自定義控件庫(kù)wpfcustomcontrollib>= 3.0
WPF用戶(hù)控件庫(kù)wpfusercontrollib>= 3.0
Windows窗體(WinForms) 應(yīng)用程序winforms>= 3.0
Windows窗體(WinForms)類(lèi)庫(kù)winformslib>= 3.0
Worker Serviceworker>= 3.0
單元測(cè)試項(xiàng)目mstest>= 1.0
NUnit 3測(cè)試項(xiàng)目nunit>= 2.1
NUnit 3測(cè)試項(xiàng)nunit-test>= 2.2
xUnit 測(cè)試項(xiàng)目xunit>= 1.0
Razor組件razorcomponent>= 3.0
Razor頁(yè)page>= 2.0
MVC ViewImportsviewimports>= 2.0
MVC ViewStartviewstart>= 2.0
Blazor 服務(wù)器應(yīng)用blazorserver>= 3.0
Blazor WebAssembly應(yīng)用blazorwasm>= 3.1
ASP.NET Core空web>= 1.0
ASP.NET Core Web應(yīng)用程序 (Model-View-Controller)mvc>= 1.0
ASP.NET Core Web 應(yīng)用程序webapp,?razor>= 2.0
含 Angular 的ASP.NET Coreangular>= 2.0
含 React.js 的ASP.NET Corereact>= 2.0
含 React.js 和 Redux 的ASP.NET Corereactredux>= 2.0
Razor類(lèi)庫(kù)razorclasslib>= 2.1
ASP.NET Core Web APIwebapi>= 1.0
ASP.NET Core gRPC服務(wù)grpc>= 3.0
dotnet gitignore文件gitignore>= 3.0
global.json文件globaljson>= 2.0
NuGet配置nugetconfig>= 1.0
Dotnet本地工具清單文件tool-manifest>= 3.0
Web配置webconfig>= 1.0
解決方案文件sln>= 1.0
協(xié)議緩沖區(qū)文件proto>= 3.0

可選參數(shù)--list可查看本地安裝的所有模板

dotnet new --list

可選參數(shù)-f?指定目標(biāo)框架版本號(hào)

dotnet new $templateName -f $frameworkName

  • net5.0

  • netcoreapp3.1

  • netcoreapp3.0

  • netcoreapp2.1

dotnet new webapi -f netcoreapp2.1

dotnet new webapi -f netcoreapp3.1

dotnet new webapi -f netcoreapp2.2

dotnet new webapi -f net5.0

可選參數(shù)-n?指定創(chuàng)建的輸出名稱(chēng),否認(rèn)默認(rèn)是當(dāng)前文件夾名稱(chēng)

dotnet new webapi -n $projectName

https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new

可選參數(shù)-o?指定輸出目錄,默認(rèn)是當(dāng)前目錄

dotnet new webapi -o $projectName

可選參數(shù)--no-https關(guān)閉默認(rèn)HTTPS要求,方便開(kāi)發(fā)調(diào)試

dotnet new webapi -o $projectName --no-https

還原依賴(lài)

dotnet restore dotnet restore $target.csproj

運(yùn)行

dotnet run

輸出文件會(huì)寫(xiě)入到默認(rèn)位置,即bin/<configuration>/<target>。例如,如果具有netcoreapp2.1應(yīng)用程序并且運(yùn)行dotnet run,則輸出置于bin/Debug/netcoreapp2.1。將根據(jù)需要覆蓋文件。臨時(shí)文件將置于obj目錄。

如果在上下文中,需要直接運(yùn)行某個(gè)文件,可以用

dotnet $fileName

禁止隱式還原

dotnet run --no-restore

禁止生成項(xiàng)目

dotnet run --no-build

生成

dotnet build

dotnet build命令將項(xiàng)目及其依賴(lài)項(xiàng)生成為一組二進(jìn)制文件。二進(jìn)制文件包括擴(kuò)展名為.dll的中間語(yǔ)言 (IL) 文件中的項(xiàng)目代碼。

根據(jù)項(xiàng)目類(lèi)型和設(shè)置,可能會(huì)包含其他文件,例如:

  • 可用于運(yùn)行應(yīng)用程序的可執(zhí)行文件(如果項(xiàng)目類(lèi)型是面向.NET Core 3.0或更高版本的可執(zhí)行文件)。

  • 用于調(diào)試的擴(kuò)展名為.pdb的符號(hào)文件。

  • 列出了應(yīng)用程序或庫(kù)的依賴(lài)項(xiàng)的.deps.json文件。

  • 用于指定應(yīng)用程序的共享運(yùn)行時(shí)及其版本的.runtimeconfig.json文件。

  • 項(xiàng)目通過(guò)項(xiàng)目引用或 NuGet 包引用所依賴(lài)的其他庫(kù)。

對(duì)于目標(biāo)版本低于.NET Core 3.0的可執(zhí)行項(xiàng)目,通常不會(huì)將NuGet中的庫(kù)依賴(lài)項(xiàng)復(fù)制到輸出文件夾。而是在運(yùn)行時(shí)從NuGet全局包文件夾中對(duì)其進(jìn)行解析。

對(duì)于面向.NET Core 3.0及更高版本的可執(zhí)行項(xiàng)目,庫(kù)依賴(lài)項(xiàng)會(huì)被復(fù)制到輸出文件夾。這意味著如果沒(méi)有其他任何特定于發(fā)布的邏輯(例如,Web項(xiàng)目具有的邏輯),則應(yīng)可部署生成輸出。

輸出可執(zhí)行文件還是輸出庫(kù)的配置

要生成庫(kù),請(qǐng)省略<OutputType>屬性或?qū)⑵渲蹈臑長(zhǎng)ibrary

<PropertyGroup><OutputType>Exe</OutputType> </PropertyGroup>

<PropertyGroup><OutputType>Library</OutputType> </PropertyGroup>

指定生成模式

  • Debug

  • Release

dotnet build -c Release

dotnet build -c Debug

指定文件版本

dotnet build -p:Version=$targetVersion

清理

dotnet clean dotnet clean -c Release

打包

dotnet pack dotnet pack -c Release

默認(rèn)情況下,Web 項(xiàng)目不可打包。若要覆蓋默認(rèn)行為,請(qǐng)將以下屬性添加到 .csproj 文件中

<PropertyGroup><IsPackable>true</IsPackable> </PropertyGroup>

Nuget

添加源

dotnet nuget add source $nugetUrl -n $sourceName

列舉源

dotnet nuget list source

刪除源

dotnet nuget remove source $sourceName

推送包到指定源

dotnet nuget push $packageName.nupkg -k $sourceAuthKey -s $sourceUrl

刪除包

dotnet nuget delete $packageName $packageVersion -s $sourceName

發(fā)布

dotnet publish

以dll文件的形式將應(yīng)用發(fā)布為依賴(lài)于框架的應(yīng)用時(shí),將創(chuàng)建跨平臺(tái)二進(jìn)制文件。?dll文件將與項(xiàng)目同名。例如,如果有名為demoForWebApp3.1的應(yīng)用,則會(huì)創(chuàng)建名為demoForWebApp3.1.dll的文件。以這種方式發(fā)布的應(yīng)用可通過(guò)dotnet <filename.dll>命令運(yùn)行,并且可在任意平臺(tái)上運(yùn)行。

只要安裝了目標(biāo).NET 運(yùn)行時(shí),就可以在任何操作系統(tǒng)上運(yùn)行跨平臺(tái)二進(jìn)制文件。如果未安裝目標(biāo).NET運(yùn)行時(shí),如果將應(yīng)用配置為前滾,則它可以使用較新的運(yùn)行時(shí)運(yùn)行。

指定框架的發(fā)布

--runtime?=>?-r

dotnet publish -r linux-x64 --self-contained false dotnet publish -r win-x64 --self-contained false

所有可選的框架清單:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

其中--self-contained false參數(shù)表示不包括對(duì)應(yīng)框架運(yùn)行時(shí)。

dotnet publish -r linux-x64 dotnet publish -r win-x64

將包含完整的目標(biāo)框架運(yùn)行時(shí)+程序

將應(yīng)用發(fā)布為獨(dú)立應(yīng)用,將生成特定于平臺(tái)的可執(zhí)行文件。輸出發(fā)布文件夾包含應(yīng)用的所有組件,包括.NET庫(kù)和目標(biāo)運(yùn)行時(shí)。應(yīng)用獨(dú)立于其他.NET應(yīng)用,且不使用本地安裝的共享運(yùn)行時(shí)。應(yīng)用的用戶(hù)無(wú)需下載和安裝.NET。

直接生成ReadyToRun映像

dotnet publish -c Release -r win-x64 -p:PublishReadyToRun=true

使用ReadyToRun映像發(fā)布可以縮短應(yīng)用程序的啟動(dòng)時(shí)間,但代價(jià)是增加應(yīng)用程序的大小。

https://docs.microsoft.com/zh-cn/dotnet/core/deploying/#produce-a-cross-platform-binary

指定項(xiàng)目文件發(fā)布

dotnet publish $packageName.csproj

監(jiān)聽(tīng)并自動(dòng)生成

開(kāi)發(fā)階段在源文件發(fā)生變動(dòng)的情況下就自動(dòng)執(zhí)行dotnet build

dotnet watch run

包管理

添加包

dotnet add package $packageName dotnet add package $packageName -v $packageVersion

查看已安裝包

dotnet list package

移除某安裝包

dotnet remove package $packageName

用VSC打開(kāi)當(dāng)前目錄

先cd到需要打開(kāi)的當(dāng)前目錄,然后輸入命令:

code .

讓VSC支持C#語(yǔ)法檢查

只要安裝C#插件即可。

讓VSC支持自動(dòng)Using

只要安裝Auto-Using for C#這個(gè)插件即可。

總結(jié)

以上是生活随笔為你收集整理的温故知新,DotNet Core SDK和.Net CLI十八般武艺的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 免费毛片播放 | 欧美精品一区二区三区久久久竹菊 | 国模人体一区二区 | 久久一区| 免费欧美一级片 | 青青色在线视频 | 美女午夜视频 | 韩国久久久| 强行挺进白丝老师里呻吟 | 亚洲熟妇一区二区三区 | 激情专区 | 欧美一区欧美二区 | 91久久在线观看 | 国产精品极品 | 日本人做爰全过程 | 一区免费在线观看 | 国产亚洲精品久久久 | 亚洲精品专区 | 欧美 丝袜 自拍 制服 另类 | 久久精品蜜桃 | 又黄又爽在线观看 | 成人中文字幕+乱码+中文字幕 | 中文字幕成人在线 | av中文字幕第一页 | 91免费视| 黄色网址视频 | 亚洲69视频| 欧美鲁| 国产精品久久久久久久久久辛辛 | 午夜视频大全 | 777黄色| 中国av在线 | 亚洲最大福利视频网 | 国产成人在线电影 | 蜜臀av首页 | 中文写幕一区二区三区免费观成熟 | 国产午夜性春猛交ⅹxxx | 妞妞影视 | yw在线观看| av资源免费看 | 91视频久久久 | 日本一本高清 | 日韩一区免费视频 | 少妇学院在线观看 | 国产精品久久在线观看 | 911精品国产一区二区在线 | 四虎影院新网址 | 免费三片在线播放 | 精品66| 日日射射| xxx.国产 | 亚洲激情在线观看视频 | 日日干夜夜艹 | 精品777 | 亚洲AV无码久久精品国产一区 | 国产成人久久 | 欧美经典一区二区 | 绿色地狱在线观看 | 色综合啪啪 | 波多野结衣在线网址 | 中文字幕23页 | 淫岳高潮记小说 | 精品国产视频一区二区 | 欧美高清一区二区 | 色99视频 | 日韩精品一卡 | 久久精品无码专区免费 | 二区三区偷拍浴室洗澡视频 | 日韩中文字幕精品视频 | 综合天堂av久久久久久久 | 国产亚洲精品成人无码精品网站 | 91久久国产视频 | 无遮挡裸光屁屁打屁股男男 | 中文字幕欧美日韩 | 欧美乱妇视频 | 无码人妻精品一区二区三区99日韩 | 九九热精品在线观看 | 日本老太婆做爰视频 | 亚洲中文字幕久久无码 | 亚洲AV无码成人精品区在线观 | 国产免费观看一区 | 在线精品一区二区三区 | 日韩一区二区三区久久 | 操操日 | 亚洲一区不卡在线 | 亚洲一区在线视频观看 | 久久神马影院 | 日韩免费在线观看 | 亚洲成人免费影院 | 亚洲毛片在线免费观看 | 97在线免费视频观看 | 久久久久久亚洲中文字幕无码 | 女教师高潮黄又色视频 | 国产黑丝精品 | 欧美精品一区二区三区四区 | 97黄色片 | 日欧一级片 | 天天插天天 | 日韩国产三级 |