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