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日查閱.