網(wǎng)站開發(fā)寶典惠州搜索引擎seo
DotNet 命令行開發(fā)
- 下載安裝
- 下載 SDK
- 安裝 SDK
- 綠色版
- 下載
- 綠化腳本
- 常用命令
- 創(chuàng)建 dotnet new
- 運行 dotnet run
- 發(fā)布應(yīng)用 dotnet publish
- 更多命令
- VSCode 調(diào)試
- 所需插件
- 調(diào)試 CS
- 配置
- 項目.csproj
- 排除依賴關(guān)系
- launch.json
- tasks.json
- 參考資料
下載安裝
下載 SDK
我們就下最新的好: .NET 8.0 SDK (v8.0.100) - Windows x64 Installer!
安裝 SDK
直接運行,一路下一步即可。
綠色版
下載
https://download.csdn.net/download/jx520/88673976
將壓縮包解壓到目標(biāo)路徑,如: C:\dotnet
綠化腳本
將當(dāng)前目錄
添加到系統(tǒng)環(huán)境變量 PATH
。
以是 VBS 腳本,用于為 dotnet sdk 添加環(huán)境變量。
Set WshShell = WScript.CreateObject("WScript.Shell") ' 創(chuàng)建一個 WshShell 對象
currentDir = WshShell.CurrentDirectory ' 獲取當(dāng)前目錄' 以管理員權(quán)限運行自己(并把當(dāng)前目錄作為參數(shù)傳過去)
If WScript.Arguments.Length = 0 Then Set ObjShell = CreateObject("Shell.Application") ObjShell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ """ & currentDir & """ RunAsAdministrator", , "runas", 1 WScript.Quit
End if ' 檢查是否傳遞了當(dāng)前目錄作為參數(shù)
If WScript.Arguments.Count > 0 ThencurrentDir = WScript.Arguments(0)'MsgBox currentDir, vbOKOnly, "-當(dāng)前目錄-"
End If' 讀取當(dāng)前的 PATH 環(huán)境變量
pathEnv = WshShell.Environment("SYSTEM").Item("Path")
MsgBox pathEnv, vbOKOnly, "當(dāng)前環(huán)境變量 Path"' 將當(dāng)前目錄追加到 PATH
updatedPath = pathEnv & ";" & currentDir' 添加 DOTNET_ROOT 環(huán)境變量
WshShell.Environment("SYSTEM").Item("DOTNET_ROOT") = currentDir' 更新 PATH 環(huán)境變量
WshShell.Environment("SYSTEM").Item("Path") = updatedPath' 通知用戶
MsgBox "已將當(dāng)前目錄添加到 PATH 環(huán)境變量中。", vbOKOnly, "環(huán)境變量更新"' 暫停腳本執(zhí)行
WScript.Sleep 3000
執(zhí)行完腳本后新開一個 cmd
執(zhí)行 dotnet --version
輸出版本號則成功。
Microsoft Windows [版本 10.0.22000.1936]
(c) Microsoft Corporation。保留所有權(quán)利。C:\>dotnet --version
8.0.100
注意:如果某些IDE環(huán)境無法識別新加的環(huán)境變量,則重啟一下系統(tǒng)。
常用命令
先進(jìn)入項目根目錄
命令 | 說明 | 演示 |
---|---|---|
dotnet new | .NET CLI 的模板實例化命令。 比如:創(chuàng)建解決方案、項目、裝卸模板包 | dotnet new <項目模板> -o <項目目錄> -n <項目名稱> |
dotnet run | 調(diào)試運行 | |
dotnet publish | 發(fā)布應(yīng)用 | dotnet publish -c Release -r <目標(biāo)平臺> --self-contained true |
創(chuàng)建 dotnet new
- 在
C:/mysln
位置,創(chuàng)建一個解決方案
dotnet new sln -o C:/mysln
# 或:進(jìn)入指定目錄 `C:/mysln` 后再創(chuàng)建解決方案文件 `mysln.sln`
cd "C:/mysln"
dotnet new sln -n "mysln"
- 在
C:/mysln/demo
位置,創(chuàng)建一個C#
的命令行
項目,然后添加到解決方案
dotnet new "console" -lang "C#" -n <項目名稱> -o <項目路徑>
# 創(chuàng)建項目
cd "C:/mysln"
dotnet new "console" -lang "C#" -o "demo_path" -n "demo_name"
# 添加到解決方案
dotnet sln "./mysln.sln" add "./demo_path/demo_name.csproj"
- 在
C:/mysln/windemo
位置,創(chuàng)建一個桌面應(yīng)用
項目,然后添加到解決方案
# 創(chuàng)建項目
cd "C:/mysln"
dotnet new "winforms" -lang "C#" -n "windemo" -o "windemo"
# 添加到解決方案
dotnet sln "./mysln.sln" add "./windemo/windemo.csproj"
運行 dotnet run
進(jìn)入項目根目錄,執(zhí)行 dotnet run
即可運行
C:\>cd "C:/mysln/demo"
C:\mysln\demo>dotnet run
Hello, World!
發(fā)布應(yīng)用 dotnet publish
發(fā)布當(dāng)前項目(不帶依賴,需要目標(biāo)系統(tǒng)安裝有相應(yīng)的 .net 才能執(zhí)行)
dotnet publish -c Release -r win-x64
發(fā)布當(dāng)前項目(包含依賴,可以直接執(zhí)行,但無用的依賴沒排除,文件有點大)
dotnet publish -c Release -r win-x64 --self-contained true
發(fā)布當(dāng)前項目為單 exe
(可以直接執(zhí)行,排除了一部分無用依賴,還是比較大)
dotnet publish -c Release -r win-x64 -p:PublishSingleFile=true -p:TrimMode=link /p:IncludeNativeLibrariesForSelfExtract=true
要進(jìn)一步優(yōu)化排除無用依賴需要添加配置,詳見:排除依賴關(guān)系
更多命令
可以在線看 dotnet 命令,也可以命令行 dotnet --help
查看
C:\>dotnet -h
使用情況: dotnet [runtime-options] [path-to-application] [arguments]執(zhí)行 .NET 應(yīng)用程序。runtime-options:--additionalprobingpath <path> 要探測的包含探測策略和程序集的路徑。--additional-deps <path> 指向其他 deps.json 文件的路徑。--depsfile 指向 <application>.deps.json 文件的路徑。--fx-version <version> 要用于運行應(yīng)用程序的安裝版共享框架的版本。--roll-forward <setting> 前滾至框架版本(LatestPatch, Minor, LatestMinor, Major, LatestMajor, Disable)。--runtimeconfig 指向 <application>.runtimeconfig.json 文件的路徑。path-to-application:要執(zhí)行的應(yīng)用程序 .dll 文件的路徑。使用情況: dotnet [sdk-options] [command] [command-options] [arguments]執(zhí)行 .NET SDK 命令。sdk-options:-d|--diagnostics 啟用診斷輸出。-h|--help 顯示命令行幫助。--info 顯示 .NET 信息。--list-runtimes 顯示安裝的運行時。--list-sdks 顯示安裝的 SDK。--version 顯示使用中的 .NET SDK 版本。SDK 命令:add 將包或引用添加到 .NET 項目。build 生成 .NET 項目。build-server 與由生成版本啟動的服務(wù)器進(jìn)行交互。clean 清理 .NET 項目的生成輸出。format 將樣式首選項應(yīng)用到項目或解決方案。help 顯示命令行幫助。list 列出 .NET 項目的項目引用。msbuild 運行 Microsoft 生成引擎(MSBuild)命令。new 創(chuàng)建新的 .NET 項目或文件。nuget 提供其他 NuGet 命令。pack 創(chuàng)建 NuGet 包。publish 發(fā)布 .NET 項目進(jìn)行部署。remove 從 .NET 項目中刪除包或引用。restore 還原 .NET 項目中指定的依賴項。run 生成并運行 .NET 項目輸出。sdk 管理 .NET SDK 安裝。sln 修改 Visual Studio 解決方案文件。store 在運行時包存儲中存儲指定的程序集。test 使用 .NET 項目中指定的測試運行程序運行單元測試。tool 安裝或管理擴展 .NET 體驗的工具。vstest 運行 Microsoft 測試引擎(VSTest)命令。workload 管理可選工作負(fù)荷。捆綁工具中的其他命令:dev-certs 創(chuàng)建和管理開發(fā)證書。fsi 啟動 F# 交互/執(zhí)行 F# 腳本。user-jwts 在開發(fā)中管理 JSON Web 令牌。user-secrets 管理開發(fā)用戶密碼。watch 啟動文件觀察程序,它會在文件發(fā)生更改時運行命令。運行 "dotnet [command] --help",獲取有關(guān)命令的詳細(xì)信息。
VSCode 調(diào)試
所需插件
-
vscode-solution-explorer 用于管理解決方案(先打開一個目錄 ,然后就可以:創(chuàng)建解決方案、創(chuàng)建項目…)上面講的命令在這里都有對應(yīng)的右鍵菜單
-
C# Dev Kit
- 首次打開C#項目,VSCode 右下角會彈出此提示,點【安裝】即可。
- 安裝 C# Dev Kit 后會自動裝:
.NET Install Tool
、C#
- IntelliCode for C# Dev Kit 提供自動完成
- 首次打開C#項目,VSCode 右下角會彈出此提示,點【安裝】即可。
調(diào)試 CS
打開 CS 文件,按 F5 調(diào)試運行。
配置
項目.csproj
排除依賴關(guān)系
項目文件: C:/demo1/demo1.csproj
使用 <Trim>
和 <PublishTrimmed>
標(biāo)簽:
.NET Core 3.0 及以上版本引入了 trimming(修剪)功能,可以在發(fā)布時移除未使用的代碼和依賴項。
在你的 .csproj 文件中添加以下內(nèi)容:
<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup>...<PublishTrimmed>true</PublishTrimmed><TrimMode>link</TrimMode></PropertyGroup></Project>
Hello, World!
項目未排除無用依賴時 60、70M,排除后 11.5M
launch.json
主菜單 > 運行 > 添加配置:即可生成。
tasks.json
Ctrl + Shift + P
:> Tasks: Configure Task
參考資料
什么是 .NET? 簡介和概述
dotnet 命令
使用 Visual Studio Code 創(chuàng)建 .NET 控制臺應(yīng)用程序