.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 ...
随机推荐
- Linux 系统中的内部与外部命令
linux中的命令大致可分为两类,内部命令和外部命令: 内部命令(builtin command):也称shell内嵌命令 外部命令(external command):存放在一个文件中,使用时需要去 ...
- python MVC、MTV 框架介绍 Django 模板系统常用语法
Django 框架简介一.MVC框架和MTV框架1.MVC 全名Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分.优势: 耦合性低 重用性高 生命 ...
- Ubuntu部署python3.7的开发和运行环境
Ubuntu部署python3.7的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用 python3.7.1) ,之前的云主机的的默认python版本都面临 ...
- java 23种设计模式 深入理解【转】
以下是学习过程中查询的资料,别人总结的资料,比较容易理解(站在各位巨人的肩膀上,望博主勿究) 创建型抽象工厂模式 http://www.cnblogs.com/java-my-life/archive ...
- emWin仪表界面设计,含uCOS-III和FreeRTOS两个版本
第7期:多功能仪表界面设计配套例子:V6-912_STemWin提高篇实验_多功能仪表界面设计(uCOS-III)V6-913_STemWin提高篇实验_多功能仪表界面设计(FreeRTOS) 例程下 ...
- Python函数声明以及与其他编程语言数据类型的比较
1.函数声明 与其它大多数语言一样 Python 有函数,但是它没有像 C++ 一样的独立的头文件:或者像 Pascal 一样的分离的 interface / implementation 段.在需 ...
- [Swift]LeetCode695. 岛屿的最大面积 | Max Area of Island
Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) conn ...
- js获取input上传文件名和后缀
var file = $("#filedata").val(); var pos = file.lastIndexOf("\\"); var filename ...
- [Abp 源码分析]十二、多租户体系与权限验证
0.简介 承接上篇文章我们会在这篇文章详细解说一下 Abp 是如何结合 IPermissionChecker 与 IFeatureChecker 来实现一个完整的多租户系统的权限校验的. 1.多租户的 ...
- C# int数据类型呵呵
int16=short; int32=int; int64=long; Int16 值类型表示值介于 -32768 到 +32767 之间的有符号整数. Int32 值类型表示值介于 -2,147,4 ...