为了账号安全,请及时绑定邮箱和手机立即绑定

.NET Core基础学习——.NET Core SDK与命令行(CLI)工具

标签:
.NET

.NET Core SDK与命令行(CLI)工具

作为开发者,如果想要开发.net core跨平台应用程序,必须安装.NET Core SDK

.NET Core SDK 概述

.NET Core 软件开发工具包 (SDK) 是一组库和工具,使开发人员能够创建 .NET Core 应用程序和库。 这是开发人员最可能获取的包。

它包含下列组件:

  • .NET Core 命令行工具,用于生成应用程序
  • .NET Core(库和运行时),用于生成并运行应用程序
  • dotnet 驱动程序,用于运行 CLI 命令和应用程序

注:.NET Core SDK已经包含了运行时,所以不需要再额外安装运行时。

.NET Core 命令行(CLI)工具

.NET Core 命令行接口 (CLI) 工具是用于开发 .NET 应用程序的新型跨平台工具链。 使用它可以用于构建、测试,运行和发布应用程序,CLI 是更高级别的工具(如集成开发环境 (IDE)、编辑器和生成协调程序)可以驻留的基础。在默认情况下,SLI 以并行 (SxS) 方式安装,因此,可以在一个计算机上有多个版本的 CLI 工具。

只要你安装了.NET Core SDK工具包,就可以使用CLI。

CLI命令

CLI命令不需要死记硬背,你只需要记住dotnet help命令即可,使用该命令可以查看详细的说明。

PS C:UsersSmallZ> dotnet help
.NET 命令行工具 (2.1.401)
使用情况: dotnet [runtime-options] [path-to-application] [arguments]

执行 .NET Core 应用程序。

runtime-options:
  --additionalprobingpath <path>     要探测的包含探测策略和程序集的路径。
  --additional-deps <path>           指向其他 deps.json 文件的路径。
  --fx-version <version>             要用于运行应用程序的安装版共享框架的版本。
  --roll-forward-on-no-candidate-fx  已启用“不前滚到候选共享框架”。

path-to-application:
  要执行的应用程序 .dll 文件的路径。

使用情况: dotnet [sdk-options] [command] [command-options] [arguments]

执行 .NET Core SDK 命令。

sdk-options:
  -d|--diagnostics  启用诊断输出。
  -h|--help         显示命令行帮助。
  --info            显示 .NET Core 信息。
  --list-runtimes   显示安装的运行时。
  --list-sdks       显示安装的 SDK。
  --version         显示使用中的 .NET Core SDK 版本。

SDK 命令:
  add               将包或引用添加到 .NET 项目。
  build             生成 .NET 项目。
  build-server      与由生成版本启动的服务器进行交互。
  clean             清理 .NET 项目的生成输出。
  help              显示命令行帮助。
  list              列出 .NET 项目的项目引用。
  migrate           将 project.json 项目迁移到 MSBuild 项目。
  msbuild           运行 Microsoft 生成引擎(MSBuild)命令。
  new               创建新的 .NET 项目或文件。
  nuget             提供其他 NuGet 命令。
  pack              创建 NuGet 包。
  publish           发布 .NET 项目进行部署。
  remove            从 .NET 项目中删除包或引用。
  restore           还原 .NET 项目中指定的依赖项。
  run               生成并运行 .NET 项目输出。
  sln               修改 Visual Studio 解决方案文件。
  store             在运行时包存储中存储指定的程序集。
  test              使用 .NET 项目中指定的测试运行程序运行单元测试。
  tool              安装或管理扩展 .NET 体验的工具。
  vstest            运行 Microsoft 测试引擎(VSTest)命令。

捆绑工具中的其他命令:
  dev-certs         创建和管理开发证书。
  ef                Entity Framework Core 命令行工具。
  sql-cache         SQL Server 缓存命令行工具。
  user-secrets      管理开发用户密码。
  watch             启动文件观察程序,它会在文件发生更改时运行命令。

运行 "dotnet [command] --help",获取有关命令的详细信息。
PS C:UsersSmallZ>

你也可以直接查看官方文档来了解每个命令对应的选项和参数的详细说明:https://docs.microsoft.com/zh-cn/dotnet/core/tools/

指定版本的CLI工具

默认情况下,将会运行计算机上安装的最新版本的CLI工具,例如,在目录test中使用dotnet命令查看CLI工具的版本:

C:	est>dotnet --version
2.1.401

如果安装了多个版本的CLI,并且不想运行最新版本,可以在当前工作目录中创建global.json文件,并确保它至少包含以下内容:

{
	"sdk":{
		"version":"2.0.0"
	}
}

例如,在上述中的文件夹test中添加包含该内容的global.json文件后,再次执行命令,将会以指定版本的CLI工具运行:

C:	est>dotnet --version
2.0.0

注意:此处version属性的值确定要使用的CLI工具的版本,该版本等同于SDK版本,但是与应用程序将要使用的.net core运行时版本并不相同。运行时版本在项目文件(.csproj)中指定,如下:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

</Project>

你可以在VS中,右击项目属性,在应用程序选项卡的用户界面中进行配置(对应项为目标框架),你也可以手动的编辑上述中的.csproj项目文件,更改对应的TargetFramework值即可。

常用CLI命令

这里按照实际应用中的使用顺序进行概述。

dotnet new 命令为初始化有效的 .NET Core 项目提供了便捷方法。

dotnet restore 命令使用 NuGet 还原依赖项以及在 project 文件中指定的特定于项目的工具。默认情况下会并行执行对依赖项和工具的还原。

dotnet build 用于生成项目及其所有依赖项。

无需任何显式编译或启动命令即可运行源代码。dotnet run 命令为从源代码使用一个命令运行应用程序提供了一个方便的选项。 这对从命令行中进行快速迭代开发很有帮助。 命令取决于生成代码的 dotnet build 命令。 对于此生成的任何要求,例如项目必须首先还原,同样适用于 dotnet run

用于执行单元测试的 .NET 测试驱动程序。

将应用程序及其依赖项打包到文件夹以部署到托管系统。

将代码打包到 NuGet 包。

将预览版 2 .NET Core 项目迁移到 .NET Core SDK 1.0 项目。dotnet migrate 命令将有效的基于预览版 2 project.json 的项目迁移到有效的 .NET Core SDK 1.0 csproj 项目。

清除项目输出。dotnet clean 命令可清除上一个生成的输出。 它以 MSBuild 目标 的形式实现,以便在运行命令时对项目进行评估。 只会清除在生成过程中创建的输出。 中间 (obj) 和最终输出 (bin) 文件夹都会被清除。


参考资源

本文后续会随着知识的积累不断补充和更新,内容如有错误,欢迎指正。

最后一次更新时间:2018-09-05


点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件工程师
手记
粉丝
47
获赞与收藏
214

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消