.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/。
转载于:https://www.cnblogs.com/wpinfo/p/netcore_cli.html
.NET: 使用.NET Core CLI开发应用程序相关推荐
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...
- python中的cli模块_Python 快速实现CLI 应用程序的脚手架
今天跟大家分享一下如何快速实现一个Python CLI应用程序的脚手架,之所以会做这个是因为当时需要做一个运维的小工具希望用命令行的方式来使用,但是搜遍网上很多资料都没有系统讲解从开发.集成.发布.文 ...
- Windows中使用Python和C/C++联合开发应用程序起步
Windows中使用Python和C/C++联合开发应用程序起步(Python/C API应用) 2009-10-01 23:27:38| 分类: 学习 |举报 |字号订阅 C/C++几乎无所不能, ...
- 以Delphi Package架构多人开发应用程序环境
以Delphi Package架构多人开发应用程序环境 ■印象中的Package 在一般的AP开发时,我们知道在Delphi7.0整合环境中将Project->Options->选到Pac ...
- BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 Excel Services中新功能...
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 Excel Services中新功能 从SP Server ...
- .NET CORE编写控制台程序应有的优雅姿势(转载)
原文地址:https://www.cnblogs.com/zuowj/p/11107243.html 本文所说的编写控制台程序应有的"正确"方法,我把正确二字加上引号,因为没有绝对 ...
- ASP.NET Core Web 应用程序系列(三)- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)...
在上一章中主要和大家分享了在ASP.NET Core中如何使用Autofac替换自带DI进行构造函数的批量依赖注入,本章将和大家继续分享如何使之能够同时支持属性的批量依赖注入. 约定: 1.仓储层接口 ...
- ASP.NET Core Web 应用程序系列(二)- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)...
在上一章中主要和大家分享在MVC当中如何使用ASP.NET Core内置的DI进行批量依赖注入,本章将继续和大家分享在ASP.NET Core中如何使用Autofac替换自带DI进行批量依赖注入. P ...
- ASP.NET Core Web 应用程序系列(一)- 使用ASP.NET Core内置的IoC容器DI进行批量依赖注入(MVC当中应用)...
在正式进入主题之前我们来看下几个概念: 一.依赖倒置 依赖倒置是编程五大原则之一,即: 1.上层模块不应该依赖于下层模块,它们共同依赖于一个抽象. 2.抽象不能依赖于具体,具体依赖于抽象. 其中上层就 ...
最新文章
- R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,使x轴和Y轴的标签文本都使用粗体字体)、注意是轴标签而非轴标题
- 第二讲:Android系统构架分析和应用程序目录结构分析
- Tomcat8配置tomcat-users.xml配置
- apache solr velocity 注入远程命令执行漏洞 (cve-2019-17558)
- 前端:uniapp封装组件用法笔记
- Spring 事务原理和使用
- HTML5之美(转)
- PostgreSql 常用 ALTER 语句
- Android开发--内容提供者(Content provider)
- 最速下降法(附Python代码)
- DS18B20 引脚 定义 单总线 多点温度检测 STM32 单片机
- 浦发银行计算机抓紧用面试题目,浦发银行面试问题
- LWN:两组跟memory-tier有关的patch!
- 图像去噪——Neighbor2Neighbor: Self-Supervised Denoising from Single Noisy Images
- Revit 二次开发前景
- JavaScript字符串操作,把短线(-)命名格式改变为驼峰命名
- 腾讯信鸽推送Android SDK快速指南
- 用python画画的原理_matplotlib绘图的核心原理讲解
- 2021-2022 最新最全的前端面试题集锦(2022 持续更新中...敬请关注)
- 如何用curl做PUT请求?
热门文章
- linux下phpMyAdmin泛起1045 - Access denied for 的措置
- 如何在Epower工作流平台(企业流程管理平台)上建立OA系统
- 编译原理三大经典书籍(龙书 虎书 鲸书)
- 微信腾讯会议进行视频面试,如何使用腾讯会议进行视频面试?
- 深度学习框架不能“包治百病”,开发者如何选出最适合自己的?
- can差分线阻抗_CAN总线冷知识—边沿台阶是怎么来的?
- php7的foreach遍历数组,PHP中使用foreach遍历三维数组
- html怎么使用伪类清除浮动,JS中使用 after 伪类清除浮动实例
- uboot和linux内核移植,Uboot与kernel移植总结
- java json相加_JAVA,当某个json数据中一个字段与另一个json数据中的字段值相同时,对两个json进行合并且相加,...