要开发.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. vuex学习

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 简单的理解就是你在state中定义了一个数 ...

  2. Python-数据类型1

    在Python中常见的数据类型有:整数(int).字符串(str).小数/浮点数(float).列表.元组.字典和布尔类型等,下面会进行一一介绍. 整数和小数,不用多介绍相信大家都有所了解,字符串是用 ...

  3. LVM学习笔记

    LVM Logical Volume Manager Volume management creates a layer of abstraction over physical storage, a ...

  4. FFmpeg命令行工具学习(一):查看媒体文件头信息工具ffprobe

    一.简述 ffprobe是ffmpeg命令行工具中相对简单的,此命令是用来查看媒体文件格式的工具. 二.命令格式 在命令行中输入如下格式的命令: ffprobe [文件名] 三.使用ffprobe查看 ...

  5. Android单元测试之三:使用模拟框架模拟依赖

    Android单元测试之三:使用模拟框架模拟依赖 基本描述 如果是一些工具类方法的测试,如计算两数之和的方法,本地 JVM 虚拟机就能提供足够的运行环境,但如果要测试的单元依赖了 Android 框架 ...

  6. [Swift]LeetCode174. 地下城游戏 | Dungeon Game

    The demons had captured the princess (P) and imprisoned her in the bottom-right corner of a dungeon. ...

  7. VSCode与Deepin资源管理器冲突

    解决方式: xdg-mime default dde-file-manager.desktop inode/directory 此外,网上有较多推荐(在deepin 15.8版本上测试无效): gvf ...

  8. React 中的key值

    在react中必须要有key值,key不是用来提升react的性能的,react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的(例如你为一个组件设置key之后不能获取组件的这个key p ...

  9. PyCharm无法激活

    如果你激活软件遇到问题 (Pycharm.GoLand.idea.phpstorm.webstorm.sublime.ultraEdit.win10等等) 比如: 激活框提示Key is invali ...

  10. jquery lazy load

    LazyLoad是一个Js编写的Jq插件,它可以延迟加载页面中的图片,在浏览器可视范围中的图片会被加载.如何使用:LazyLoad依赖于Jquery,在html的结尾处 ,就是在</body&g ...