.NET: 使用.NET Core CLI开发应用程序
要开发.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开发应用程序的更多相关文章
- 『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Command Line Tools 翻译:.NET Core命令行工具 什么是 .NET Core ...
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...
- UI5-文档-2.3-使用SAPUI5工具为Eclipse开发应用程序
用于为简单用例开发应用程序.用于Eclipse的SAPUI5应用程序开发工具提供向导来支持您以一种简单的方式创建应用程序.使用application project向导,将自动创建包含视图和控制器的必 ...
- 使用 .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& ...
- 关于Net Core 多平台程序的Framework问题
关于Net Core 多平台程序的Framework问题: (本文只是推测,欢迎大家指正) 最近在研究NetCore的多平台问题,起因是有一个Winform的项目,由于跨平台的要求,想改为NetCor ...
- 创建ASP.NET Core MVC应用程序(6)-添加验证
创建ASP.NET Core MVC应用程序(6)-添加验证 DRY原则 DRY("Don't Repeat Yourself")是MVC的设计原则之一.ASP.NET MVC鼓励 ...
- 创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段
创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段 添加查询功能 本文将实现通过Name查询用户信息. 首先更新GetAll方法以启用查询: public async ...
- 创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图
创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图 创建CRUD动作方法及视图 参照VS自带的基架(Scaffold)系统-MVC Controller with view ...
- 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL
创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...
随机推荐
- ECharts使用:this.dom.getContext is not a function
echarts 画图报错 this.dom.getContext is not a function; 原因:因为在初始化echarts的时候,echarts.js规定只能使用dom原生方法获取标签, ...
- C# 使用WinApi操作剪切板Clipboard
前言: 最近正好写一个程序,需要操作剪切板 功能很简单,只需要从剪切板内读取字符串,然后清空剪切板,然后再把字符串导入剪切板 我想当然的使用我最拿手的C#来完成这项工作,原因无他,因为.Net框架封装 ...
- 【RL-TCPnet网络教程】第19章 RL-TCPnet之BSD Socket服务器
第19章 RL-TCPnet之BSD Socket服务器 本章节为大家讲解RL-TCPnet的BSD Socket,学习本章节前,务必要优先学习第18章的Socket基础知识.有了这些基础知 ...
- Android OpenSL ES 开发:Android OpenSL 录制 PCM 音频数据
一.实现说明 OpenSL ES的录音要比播放简单一些,在创建好引擎后,再创建好录音接口基本就可以录音了.在这里我们做的是流式录音,所以需要用至少2个buffer来缓存录制好的PCM数据,这里我们可以 ...
- SDL 开发实战(二):SDL 2.0 核心 API 解析
在上一篇文章 SDL 开发实战(一):SDL介绍及开发环境配置 中,我们配置好了SDL的开发环境,并成功运行了SDL的Hello World 代码.但是可能大部分人还是读不太明白具体Hello Wol ...
- [Swift]LeetCode162. 寻找峰值 | Find Peak Element
A peak element is an element that is greater than its neighbors. Given an input array nums, where nu ...
- [Swift]LeetCode923.三数之和的多种可能 | 3Sum With Multiplicity
Given an integer array A, and an integer target, return the number of tuples i, j, k such that i &l ...
- Java数据结构和算法 - 什么是2-3-4树
Q1: 什么是2-3-4树? A1: 在介绍2-3-4树之前,我们先说明二叉树和多叉树的概念. 二叉树:每个节点有一个数据项,最多有两个子节点. 多叉树:(multiway tree)允许每个节点有更 ...
- VSphere虚拟化ESXi的安装及基本管理
虚拟化和云计算技术正在快速的发展,新的概念.观点.产品不断涌现.服务器虚拟化技术受到了人们的高度重视,普遍相信虚拟化将成为数据中心的重要组成部分.vSphere是VMware公司推出的一套服务器虚拟化 ...
- Jedis与Luttuce区别
如果你在网上搜索Redis 的Java客户端,你会发现,大多数文献介绍的都是 Jedis. 不可否认,Jedis是一个优秀的基于Java语言的Redis客户端. 但是,其不足也很明显:Jedis在实现 ...