认识.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. amazeui学习笔记--css(常用组件10)--导航条Topbar

    amazeui学习笔记--css(常用组件10)--导航条Topbar 一.总结 1. 导航条:就是页面最顶端的导航条:在容器上添加 .am-topbar class,然后按照示例组织所需内容.< ...

  2. 国内技术管理人员批阅google的“春运交通图”项目

    在整理一份报告的时候,偶然看到2008年春节期间google推出的“春运交通图”项目建设历程报道,很受启发,随以国内的技术管理人员眼光批阅了这篇文章,同时也是自嘲吧. 以下黑色字体是原报道,红色字体是 ...

  3. Altium Designer中画pcb如何隐藏和显示地线

    如何隐藏: 如何显示: 按下N后

  4. vue指令概览

    原文 简书原文:https://www.jianshu.com/p/5fd47b7422fd 大纲 1.什么是vue指令 2.向指令中传入参数 3.指令中带入修饰符 4.指令的缩写 5.常见的vue指 ...

  5. POJ 1275 Cashier Employment 挺难的差分约束题

    http://poj.org/problem?id=1275 题目大意: 一商店二十四小时营业,但每个时间段需求的雇员数不同(已知,设为R[i]),现有n个人申请这份工作,其可以从固定时间t连续工作八 ...

  6. UVA 10970 - Big Chocolate 洪水@。@

    先横着切m-1刀,矩形巧克力就变成了1*n (有m个)然后每个都要切n-1下,所以有 m*(n-1) +(m-1)= n*m-1 #include<cstdio> int main() { ...

  7. 深度学习 Deep Learning UFLDL 最新Tutorial 学习笔记 4:Debugging: Gradient Checking

    1 Gradient Checking 说明 前面我们已经实现了Linear Regression和Logistic Regression.关键在于代价函数Cost Function和其梯度Gradi ...

  8. [Angular2 Form] Angular 2 Template Driven Form Custom Validator

    In this tutorial we are going to learn how we can also implement custom form field validation in Ang ...

  9. leetcode笔记:Remove Duplicates from Sorted Array II

    一.题目描写叙述 二.解题技巧 这道题和Remove Duplicates from Sorted Array这道题是相似的.仅仅只是这里同意出现反复的数字而已,能够採用二分搜索的变种算法.仅仅只是增 ...

  10. [Phonegap+Sencha Touch] 移动开发72 List列表横向滑动操作(仿QQ列表滑动删除)

    原文链接:http://blog.csdn.net/lovelyelfpop/article/details/50425744 本插件有2个版本号:sencha touch 版本号和 extjs6 m ...