C Sharp/NET Core overview

維基教科書,自由的教學讀本

查看.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 與通過生成啟動的服務器進行交互。
dotnet命令行選項
選項 說明
--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

參考文獻[編輯]

  1. Intro to .NET Core CLI.於2016年3月13日查閱.