[.net 面向对象程序设计深入](9).NET Core 跨平台开发环境搭建

1、概述

读前必备:认识.NET Core

上篇介绍了.NET 新的生态环境:包括.NET Framework、.NET Core、Xamarin三驾马车

其中.NET Framework是基于Windows平台专属的开发框架.

.NET Core则可以在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用.

Xamarin用于构建移动APP,包含iOS、 OS X 、Android等。

本篇重点介绍,如何在多个平台上搭建.NET Core的开发环境。

2、基于Windows的.NET Core开发环境搭建

(1)开发工具:Visual Studio 2017/2015、Visual Studio Code

(2)Vs2017开发环境:使用Vs2017开发环境非常简单,VS2017安装后,就已经集成了支撑.NET Core运行的所有组件

a.下载安装VS:VS2017官方下载地址 VS Code 1.8中文版

b.创建.NET Core应用:创建基于.NET Core的应用程序,打开VS2017,创建项目,如下图:

需要注意的是:.NET Core你在选择底层标准Framework库的时候,最低版本只能选择Framework 4.5,之前的版本是不能支持的。

c.编码、调试 、运行。这和使用.NET Framework创建基于Windows环境的.NET应用程序类似。如下:

(3)使用.NET Command Line Interface(CLI)创建项目,除了VS之外,你也可以使用命令行来创建一个.NET Core项目

a.安装.NET Core SDK for Windows. 使用命令行创建项目,首先要安装.NET Core SDK for Windows,官方下载地址 64位  32位

b.创建项目,下面是一些常用命令(以下命令同样适用于MacOS、Linux):

命令 说明
dotnet new 使用 C# 语言初始化用于类库或控制台应用程序的有效项目。
dotnet restore 还原在指定项目的 project.json 文件中定义的依赖项。依赖项通常是您在应用程序中使用的 NuGet 包。
dotnet build 生成您的代码! 此命令将生成适用于您的项目的中间语言 (IL) 二进制。如果项目是控制台应用程序,则产生的输出是可执行的,您可以立即运行。默认情况下,生成命令会将生成的程序集和可执行文件(如果适用)输出到调用位置目录的 bin 目录中。
dotnet test 如果不支持运行测试,则不会出现适合的工具。此命令让您可以使用在 project.json 文件中指定的运行程序运行一组测试。目前支持 xUnit 和 NUnit 测试运行程序。
dotnet publish 发布在目标计算机上运行的应用程序。
dotnet pack pack 命令会把您的项目打包成 NuGet 包。输出一组 nupkg 文件后,您可以将其上载至您的源,或使用本地文件夹替代将其用于还原操作。
dotnet run 运行命令将编译并运行您的应用程序。您可以将其看作没有 Visual Studio 的 Ctrl+F5 模拟。

除带有包的命令外,您还具有将其他命令添加为 project.json 中的工具并将其还原的选项。它们被打包为 NuGet 包,可提供适合且易用使用和理解的扩展性模型。

下面我们尝试使用命令行来创建一个控制台应用程序

运行-CMD,依次创建目录,打开目录,创建.NET Core控制台应用程序 如下:

mkdir DotnetCoreTest
cd e:\DotnetCoreTest
dotnet new console

显示创建“控制台应用程序”成功。

c.调试、运行

然后使用dotnet restore 和dotnet run命令

dotnet restore
dotnet run

可以看到运行结果。下面是Command Line创建的控制台应用程序目录,和我们使用vs创建的一样

关于命令行工具详细介绍,请参照:NET Core 命令行接口工具

3、基于Linux的.NET Core开发环境搭建

(1)开发工具:Visual Studio Code(跨平台开发工具,支持Windows、Linux、MacOS等)

(2)开发环境搭建:请参照前面的文章Linux部分:构建跨平台.NET开发环境(Windows/Mac OS X/Linux)

4、基于MacOS的.NET Core开发环境搭建

(1)开发工具:Visual Studio Code(跨平台开发工具)

(2)开发环境搭建

a.安装macOS 10.11或更高(64位)

b.安装最新版本OpenSSL,也可以使用:Homebrew

c.安装.NET Core SDK for Mac OS,下载地址

d.使用Visual Studio for Mac 2017开发并测试代码

(3)Visual Studio for Mac 2017,下面简单介绍一下Visual Studio for Mac 2017使用

a.下载地址

b.创建并运行

图1,运行主界面

图2,创建项目

图3,代码界面

图5,熟悉的解决方案管理器

图6,运行MVC项目

5、总结

本篇主要介绍了.NET Core在Windows、Linux、MacOS平台的开发环境搭建过程,如果只是创建运行于Windwos系统下的.NET Core应用程序,那么.NET Framework将是最佳选择。如果要考虑到跨平台开发、跨平台部署,使用.NET Core才是您的最佳选择。

==============================================================================================

返回目录

<如果对你有帮助,记得点一下推荐哦,如有有不明白或错误之处,请多交流>

<转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

软件管理及.NET 技术交流群:467189533

==============================================================================================

[.net 面向对象程序设计深入](9).NET Core 跨平台开发环境搭建的更多相关文章

  1. visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建

    visual studio 2019开始支持cmake跨平台开发. 以前cmake项目需要先生成vs项目,然后vs直接使用vs项目开发.现在可以直接用vs2019创建或打开cmake项目. 使用vis ...

  2. 《ASP.NET Core跨平台开发从入门到实战》Web API自定义格式化protobuf

    <ASP.NET Core跨平台开发从入门到实战>样章节 Web API自定义格式化protobuf. 样章 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于 ...

  3. .Net Core 跨平台开发实战-服务器缓存:本地缓存、分布式缓存、自定义缓存

    .Net Core 跨平台开发实战-服务器缓存:本地缓存.分布式缓存.自定义缓存 1.概述 系统性能优化的第一步就是使用缓存!什么是缓存?缓存是一种效果,就是把数据结果存在某个介质中,下次直接重用.根 ...

  4. 20175325 《JAVA程序设计》实验二《JAVA开发环境的熟悉》实验报告

    20175325 <JAVA程序设计>实验二<JAVA开发环境的熟悉>实验报告 一.实验报告封面 课程:Java程序设计 班级:1753班 姓名:石淦铭 学号:20175325 ...

  5. 20165219 《Java程序设计》实验二(Java开发环境的熟悉)实验报告

    20165219 <Java程序设计>实验二(Java开发环境的熟悉)实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:王彦博 学号:20165219 成绩: 指 ...

  6. 快速打造跨平台开发环境 vagrant + virtualbox + box

    工欲善其事必先利其器,开发环境 和 开发工具 就是 我们开发人员的剑,所以我们需要一个快并且好用的剑 刚开始做开发的时候的都是把开发环境 配置在 自己的电脑上,随着后面我们接触的东西越来越多,慢慢的电 ...

  7. Windows7 x64 跨平台开发环境安装配置

    ======================================================================= Windows7 x64 跨平台开发环境安装配置 201 ...

  8. 20175325 《JAVA程序设计》实验一 《JAVA开发环境的熟悉》实验报告

    20175325 <JAVA程序设计>实验一 <JAVA开发环境的熟悉>实验报告 一.实验内容及步骤 (一).实验一: 实验要求: 0 参考实验要求 1 建立"自己学 ...

  9. # 2019-2020-3 《Java 程序设计》实验一:Java开发环境的熟悉

    2019-2020-3 <Java 程序设计>实验一:Java开发环境的熟悉-------1 一.实验要求: 1 建立"自己学号exp1"的目录 2 在"自己 ...

随机推荐

  1. shell变量数学运算

    shell变量数学运算 #!/bin/sh # 本脚本说明shell脚本中变量运算的用法 # 错误的用法var=1var=$var+1echo $var 输出:1+1 # 第一种用法,letvar=1 ...

  2. iOS开发之App主题切换完整解决方案(Swift版)

    本篇博客就来介绍一下iOS App中主题切换的常规做法,当然本篇博客中只是提到了一种主题切换的方法,当然还有其他方法,在此就不做过多赘述了.本篇博客中所涉及的Demo完全使用Swift3.0编写完成, ...

  3. Ansible之 Inventory 资源清单介绍

    一.Inventory 库存清单文件 1.Inventory 作用 Ansible 可以在同一时间针对多个系统设施进行管理工作.它通过选择Ansible 资源清单文件中列出的系统,该清单文件默认是在/ ...

  4. JS作用域理解

    1.JS解析步骤: a.预解析 将变量声明提升: 将函数声明及函数内容提升,可以理解成原来位置的函数在解析代码时已经提到代码初始位置: 遇到重名,只留下一个: 如有重名变量和函数,留下函数: 如有两个 ...

  5. 如何用Visual Studio 2008 写汇编程序?

    如何用Visual Studio 2008写汇编程序? 最近在上夏季小学期,在学汇编语言,关于用什么编辑环境一直很纠结.很想找到一个比较好的IDE,但是试了几个像RadASM之类的,发现还不是很满意. ...

  6. jsp判断为空用not empty

    试过 !='' 不管用,只好百度,现在知道了 <c:if test="${not empty pos.requireDegreeName }"> ${pos.requi ...

  7. 计算机程序的思维逻辑 (70) - 原子变量和CAS

    从本节开始,我们探讨Java并发工具包java.util.concurrent中的内容,本节先介绍最基本的原子变量及其背后的原理和思维. 原子变量 什么是原子变量?为什么需要它们呢? 在理解synch ...

  8. 每天一个Linux命令(20)--find命令之exec

    find 是我们很常用的一个Linux命令,但是我们一般查找出来的额并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是 comm ...

  9. MySQL Sniffer

    MySQL Sniffer 是360开源的一个基于 MySQL 协议的抓包工具, 能实时抓取客户端端请求,并格式化输出操作语句,操作十分简单.对于问题的定位,操作的审核是个不错的利器. Github地 ...

  10. 【2017-03-10】Tsql语句基础、条件,高级查询

    一.语句基础 1.创建数据库:create database 数据库名(不能汉字,不能数字.符号开头) 2.删除数据库:drop database 数据库名 3.选用数据库:use 数据库名 4.创建 ...