认识.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才是您的最佳选择。

NET Framework、.NET Core、Xamarin的更多相关文章

  1. PULPino datasheet中文翻译并给了部分论文注释(前四章:Overview、Memory Map、CPU Core、Advanced Debug Unit)

    参考: (1).PULPino datasheet:https://github.com/pulp-platform/pulpino/blob/master/doc/datasheet/datashe ...

  2. 如何使用ASP.NET Core、EF Core、ABP(ASP.NET Boilerplate)创建分层的Web应用程序(第一部分)

    本文是为了学习ABP的使用,是翻译ABP官方文档的一篇实战教程,我暂时是优先翻译自己感兴趣或者比较想学习的部分,后续有时间希望能将ABP系列翻译出来,除了自己能学习外,有可能的话希望帮助一些英文阅读能 ...

  3. Homebrew学习(六)之替换及重置homebrew、Homebred Core、Homebrew cask默认源

    替换及重置homebrew默认源 中科大源 替换官方源: // 替换brew.git: cd "$(brew --repo)" git remote set-url origin ...

  4. .NET 体系结构(.net core、.net framework、xamarin之间的关系)

    这是一张来自官方的图. 图中.NET FRAMEWORK..NET CORE和XAMARIN是三个不同的运行时,这三个运行时在.NET STANDARD LIBRARY之上,它们都包含一些基础的组件, ...

  5. 十六、.net core(.NET 6)搭建基于Redis的Hangfire定时器

    搭建基于Redis的Hangfire定时器 Hangfire的定时配置信息会自动生成在指定到数据库内,包括关系型数据库或非关系型数据库内.目前为止,它在Redis.Oracle上面,可以支持最短15秒 ...

  6. NET?.NET Framework?.NET Core?

    什么是.NET?什么是.NET Framework?什么是.NET Core? https://www.cnblogs.com/1996V/p/9037603.html 什么是.NET?什么是.NET ...

  7. [转].NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别

    转至:https://segmentfault.com/a/1190000011539920 前段时日微软(Microsoft)正式发布了.NET Core 2.0,在很多开发社区中反响不错.但还是有 ...

  8. .NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别

    前段时日微软(Microsoft)正式发布了.NET Core 2.0,在很多开发社区中反响不错.但还是有一些开发者发出了疑问,.NET Core.Xamarin..NET Standard和.NET ...

  9. .NET Core、.NET Standard、Xamarin和.NET Framework对比

    近日,微软发布了.NET Core 2.0,但是开发人员中间仍然存在一些疑惑,就是.NET Core..NET Standard.Xamarin和.NET Framework有什么不同. .NET F ...

随机推荐

  1. datagridview问题

    在winform中,取datagridview某个单元格的值,然后与另外一个值相减,如果相减等于0,结果却为-7.105427357601E-15 Convert.ToDouble(xun_dataG ...

  2. css结构设计思想

    本文摘自博客园-予沁安的文章:结构化CSS设计思维,作为学习笔记记录一下 1.LESS.SASS等预处理器给CSS开发带来了语法的灵活和便利,其本身却没有给我们带来结构化设计思维.很少有人讨论CSS的 ...

  3. POJ 2376 Cleaning Shifts 区间覆盖问题

    http://poj.org/problem?id=2376 题目大意: 给你一些区间的起点和终点,让你用最小的区间覆盖一个大的区间. 思路: 贪心,按区间的起点找满足条件的并且终点尽量大的. 一开始 ...

  4. 一起学libcef--给你的浏览器删除cookie

    long long ago, 我们讨论了如给你cef设置cookie. 如今来补充一点,假设给你的浏览器删除某一cookie. review一下设置cookie: std::wstring usern ...

  5. java数组10大技巧

    0.  声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {"a"," ...

  6. jquery-8 jquery如何处理css样式

    jquery-8  jquery如何处理css样式 一.总结 一句话总结: 1.如何获取网页的三个高? 1)可视区域的高$(window).height(); 2)文档总高度$(document).h ...

  7. jQuery中serializeArray方法的使用及对象与字符串的转换

    使用jQuery中的serializeArray()方法可以方便的将表单中的各个信息,转化为多个{name:xx,value:xx}对象的数组, 再使用遍历的方式可以方便的将数组转化为json对象, ...

  8. 获取WebConfig 配置项的值

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...

  9. IT忍者神龟之Hibernat持久化对象-数据表映射配置回想

    1.持久化对象POJO编写规则: 1) 有空參public构造器: 2) 提供标识属性.映射数据表主键: 3) 属性提供setter和getter方法. 4) 属性使用基本数据类型的包装类型.基本类型 ...

  10. jquery-3 jquery选择器

    jquery-3 jquery选择器 一.总结 一句话总结:选择器使用的时候可以结合参考手册,里面都已经详细归类好了.(多用才能熟啊) 1.$(:input).css({'color':'#98765 ...