C Sharp/NET Core overview
< C Sharp
查看.NET Core的安裝版本
編輯查看註冊表的HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Updates\.NET Core子鍵對應於已經安裝的版本。
.NET CLI
編輯.NET CLI (Command-Line Interface) 命令行工具是 .NET Core 處理建造、執行與編輯工作的主要工具 [1],每個命令都定義自己的參數。 在每個命令後鍵入 --help 以訪問簡要幫助文檔。
微軟官方文檔在https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet
有幾個主要的動作:
指令 | 說明 |
---|---|
dotnet new | 產生新的基本 .NET 項目內容 (包含 project.json、Program.cs 以及 NuGet.config) |
dotnet restore | 還原所參考的 NuGet 套件 |
dotnet build | 建造 .NET 項目 |
dotnet publish | 產生可發行的 .NET 項目(包含所屬的 Runtime) |
dotnet run | 編譯與立即執行 .NET 項目(較適用於 exe 型項目) |
dotnet repl | 啟動互動式的對話 |
dotnet pack | 將專案的產出封裝成 NuGet 套件 |
dotnet sln | 用於添加、刪除和列出解決方案文件中項目的選項。 |
dotnet migrate | 將有效的預覽版 2 項目遷移到 .NET Core SDK 1.0 項目。幫助請後面輸入-h 查看 |
dotnet clean | 清除生成輸出。 |
dotnet build-server | 與通過生成啟動的伺服器進行交互。 |
選項 | 說明 |
---|---|
--additional-deps | 其他 deps.json 文件的路徑 |
--additionalprobingpath | 包含要進行探測的探測策略和程序集的路徑 |
--diagnostics | 啟用診斷輸出 |
---fx-version | 用於運行應用程式的 .NET Core 運行時版本 |
--help | 列印出給定命令的文檔,如 dotnet build --help。 dotnet --help 列印可用命令列表 |
--info | 列印出有關 .NET Core 安裝和計算機環境(如當前作業系統)的詳細信息,並提交 .NET Core 版本的 SHA |
--list-runtimes | 顯示已安裝的 .NET Core 運行時 |
--list-sdks | 顯示已安裝的 .NET Core SDK |
--roll-forward-on-no-candidate-fx | 所需的共享框架不可用時,請定義行為。 N 可以是:
0 - 禁用次要版本前滚。 1 - 前滚次要版本,但不前滚主版本。 这是默认行为。 2 - 前滚次要和主版本。 有关详细信息,请参阅前滚 |
--verbosity | 設置命令的詳細級別。 允許使用的值為 q[uiet]、m[inimal]、n[ormal]、d[etailed] 和 diag[nostic]。 並非在每個命令中均受支持;請參閱特定的命令頁,確定此選項是否可用。 |
--version | 列印使用中的 .NET Core SDK 版本。 |
#创建控制台项目
dotnet new console
#创建 webapi项目 并指定名字
dotnet new webapi -n Api
#创建项目的时候,指定sdk版本
dotnet new webapi -n Api -f netcoreapp3.1
#从模板安装
dotnet new -i Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0
#dotnet store
将程序集存储到运行时包存储区。 帮助请后面输入-h 查看
#dotnet test
使用测试运行程序运行测试。 帮助请后面输入-h 查看
#项目引用
dotnet add reference #添加项目引用。
dotnet list reference #列出项目引用。
dotnet remove reference #删除项目引用。
dotnet add package
#添加 NuGet 包。
dotnet remove package
#删除 NuGet 包。
dotnet nuget delete
#从服务器删除或取消列出包。
dotnet nuget locals
#清除或列出本地 NuGet 资源,例如 http 请求缓存、临时缓存或计算机范围的全局包文件夹。
dotnet nuget push
#将包推送到服务器,并将其发布。
#其他工具
dotnet dev-certs
#创建和管理开发证书。
dotnet ef
#Entity Framework Core 命令行工具。缓存或计算机范围的全局包文件夹。
dotnet sql-cache
#SQL Server 缓存命令行工具
dotnet user-secrets
#管理开发用户机密。
dotnet watch
#启动文件观察程序,以在更改文件时运行命令。 >以上的所有命令都可以执行命令的后面增加--help来查看命令使用详情。如`dotnet run --help/-h`
舉例:
dotnet new classlib -n tmp9 #创建一个classlib程序,代码为:
using tmp9;
Class1 obj=new Class1();
obj.PrintOut();
namespace tmp9;
public class Class1
{
public void PrintOut()
{
System.Console.WriteLine("classlib print.");
}
}
執行編譯、打包:
dotnet restore dotnet pack
創建一個console程序:
dotnet new console -n tmp8
在tmp8.csproj 添加如下:
<ItemGroup>
<PackageReference Include="tmp9" Version="1.0.0" />
</ItemGroup>
修改program.cs代碼如下:
using tmp9;
Class1 obj=new Class1();
obj.PrintOut();
dotnet restore -s E:\tmp9\bin\Debug\ #即dotnet restore -s包的路径。 dotnet run
參考文獻
編輯- ↑ Intro to .NET Core CLI.於2016年3月13日查閱.