要开发.NET Core应用程序,除了使用强大的Visual Studio之外,还可以使用.NET Core CLI。
.NET Core CLI (Command-Line Interface),也就是.NET Core命令行界面,它是一个开发.NET Core应用程序的跨平台工具链。
安装.NET Core SDK后,就可以使用.NET Core CLI,在命令提示符窗口中,使用dotnet --version查看本机安装的.NET Core的版本,或者使用dotnet --info查看本机.NET Core的安装情况。

.NET Core CLI目前支持创建控制台和ASP.NET Core两种类型的应用程序。

一、创建控制台应用程序

在命令提示符窗口输入命令:

C:\Users\Admin>D:
D:\>mkdir src
D:\>cd src
D:\src>dotnet new console -o HelloConsole
D:\src>dotnet run -p HelloConsole\HelloConsole.csproj

最终程序会输出“Hello, world!”。

上面的命令中,前三行在D盘创建src目录,并进入该目录,后两行是创建一个.NET Core控制台应用程序,并运行。

HelloConsole目录下的Program.cs的内容:

using System;

namespace HelloConsole
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}

因此,最终程序输出“Hello, world!”。

二、创建ASP.NET Core应用程序

接下来,我们创建一个Web API应用程序,这个例子会创建一个解决方案和两个项目,其中一个项目是Web API,而另一个是类库项目,并且Web API项目会引用类库项目。

在原来的位置继续输入下列命令:

D:\src>mkdir HelloApi
D:\src>cd HelloApi
D:\src\HelloApi>dotnet new sln

以上命令创建了HelloApi目录,并在其中创建了HelloApi.sln解决方案文件。

D:\src\HelloApi>dotnet new api -o HelloApi
D:\src\HelloApi>dotnet new classlib -o HelloApi.Models

以上命令分别创建了HelloApi和HelloApi.Model两个项目,前者是Web API应用程序,后者是一个类库。

D:\src\HelloApi>dotnet sln HelloApi.sln add HelloApi/HelloApi.csproj
D:\src\HelloApi>dotnet sln HelloApi.sln add HelloApi.Models/HelloApi.Models.csproj
D:\src\HelloApi>dotnet add HelloApi\HelloApi.csproj reference HelloApi.Models\HelloApi.Models.csproj

以上命令将两个项目添加到解决方案中,并为Web API项目添加对类库项目的引用。

一切就绪后,此时可以使用轻量级的开发工具,比如Visual Studio Code,进行编码,这里我们使用记事本程序。打开HelloApi.Models目录中的Class1.cs文件,更改它的内容:

using System;
using System.Collections.Generic; namespace HelloApi.Models
{
public class Data
{
public static List<string> GetNames() => new List<string> { "A", "B", "C", "D", "E" };
}
}

打开HelloApi\Controllers目录下的ValueController.cs,首先引用命名空间:

using HelloApi.Models;

将其中的Get方法修改如下:

// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
// 调用另一个库中的方法获取结果并返回
return Data.GetNames();
}

保存修改后,运行项目,继续在命令提示符窗口输入命令:

D:\src\HelloApi>dotnet run -p HelloApi\HelloApi.csproj

成功运行后,在Postman中调用https://localhost:5001/api/values,结果:

最后,使用dotnet publish还可以输出用于发布项目的文件。

除了上面用到的命令外,.NET Core CLI还支持其他命令,如为项目添加NuGet包、添加Entity Framework Core的迁移等。在微软文档(Microsoft Docs)中能够看到.NET Core CLI所有的命令选项,文档地址:https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet?tabs=netcore21

总的来看,.NET Core CLI功能是非常强大的,使用它结合VS Code等编辑器,完全可以上手开发.NET Core平台中任何类型的应用程序,而且由于.NET Core和VS Code都是跨平台的,因此,所有的操作在Linux、Mac上都是完全一致的。

最后,在Cheatography网站上,有人上传了一份常用的.NET Core CLI命令(PDF版本),适合于打印,点击这里可下载,你也可以从这里找到它:https://www.cheatography.com/oba/cheat-sheets/dotnet-cli/。

.NET: 使用.NET Core CLI开发应用程序的更多相关文章

  1. 『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Command Line Tools 翻译:.NET Core命令行工具 什么是 .NET Core ...

  2. 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表

    创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...

  3. UI5-文档-2.3-使用SAPUI5工具为Eclipse开发应用程序

    用于为简单用例开发应用程序.用于Eclipse的SAPUI5应用程序开发工具提供向导来支持您以一种简单的方式创建应用程序.使用application project向导,将自动创建包含视图和控制器的必 ...

  4. 使用 .NET Core CLI 创建 .NET Core 全局工具

    https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=2&ch=&tn=baiduhome_pg& ...

  5. 关于Net Core 多平台程序的Framework问题

    关于Net Core 多平台程序的Framework问题: (本文只是推测,欢迎大家指正) 最近在研究NetCore的多平台问题,起因是有一个Winform的项目,由于跨平台的要求,想改为NetCor ...

  6. 创建ASP.NET Core MVC应用程序(6)-添加验证

    创建ASP.NET Core MVC应用程序(6)-添加验证 DRY原则 DRY("Don't Repeat Yourself")是MVC的设计原则之一.ASP.NET MVC鼓励 ...

  7. 创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段

    创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段 添加查询功能 本文将实现通过Name查询用户信息. 首先更新GetAll方法以启用查询: public async ...

  8. 创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图

    创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图 创建CRUD动作方法及视图 参照VS自带的基架(Scaffold)系统-MVC Controller with view ...

  9. 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL

    创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...

随机推荐

  1. 阿里云 DTS 实践

    控制台 https://dts.console.aliyun.com/#/task/basic/ 操作 填写源目标和目的数据库信息 选择需要迁移的数据库 检查通过 现在好像是免费的,计时收费也很便宜 ...

  2. 关于Django字段类型中 blank和null的区别

    blank 设置为True时,字段可以为空.设置为False时,字段是必须填写的.字符型字段CharField和TextField是用空字符串来存储空值的. 如果为True,字段允许为空,默认不允许. ...

  3. BOM与DOM操作

    BOM: OM-JavaScript是运行在浏览器中的,所以提供了一系列对象用于和浏览器窗口进行交互,这些对象主要包括window.document.location.navigator和screen ...

  4. lua语言自学知识点----简单了解

    零碎知识点: lua:用lua写UI,更新UI,因为lua可直接跨平台解析,不需要编译,方便更新------>热更新. c#反射也可以达到更新,但非常麻烦,切不支持iOS. 在lua中一个人汉字 ...

  5. 贪心算法----区间选点问题(POJ1201)

    题目: 题目的大致意思是,给定n个闭区间,并且这个闭区间上的点都是整数,现在要求你使用最少的点来覆盖这些区间并且每个区间的覆盖的点的数量满足输入的要求点覆盖区间的数量. 输入: 第一行输入n,代表n个 ...

  6. 理解Golang哈希表Map的元素

    目录 概述 哈希函数 冲突解决 初始化 结构体 字面量 运行时 操作 访问 写入 扩容 删除 总结 在上一节中我们介绍了 数组和切片的实现原理,这一节会介绍 Golang 中的另一个集合元素 - 哈希 ...

  7. java中的堆,栈和方法区(转)

    来源:https://www.cnblogs.com/iliuyuet/p/5603618.html https://blog.csdn.net/lin542405822/article/detail ...

  8. [Swift]LeetCode127. 单词接龙 | Word Ladder

    Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest t ...

  9. Linux指令装图像化界面

    1.对yum进行配置安装.//这是重点 [root@localhost ~]# yum groupinstall "GNOME Desktop" "Graphical A ...

  10. 网络协议 9 - TCP协议(下):聪明反被聪明误

    网络协议 1 - 概述 网络协议 2 - IP 是怎么来,又是怎么没的? 网络协议 3 - 从物理层到 MAC 层 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校 网络协议 5 - I ...