NET Framework、.NET Core、Xamarin
上篇介绍了.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的更多相关文章
- PULPino datasheet中文翻译并给了部分论文注释(前四章:Overview、Memory Map、CPU Core、Advanced Debug Unit)
参考: (1).PULPino datasheet:https://github.com/pulp-platform/pulpino/blob/master/doc/datasheet/datashe ...
- 如何使用ASP.NET Core、EF Core、ABP(ASP.NET Boilerplate)创建分层的Web应用程序(第一部分)
本文是为了学习ABP的使用,是翻译ABP官方文档的一篇实战教程,我暂时是优先翻译自己感兴趣或者比较想学习的部分,后续有时间希望能将ABP系列翻译出来,除了自己能学习外,有可能的话希望帮助一些英文阅读能 ...
- Homebrew学习(六)之替换及重置homebrew、Homebred Core、Homebrew cask默认源
替换及重置homebrew默认源 中科大源 替换官方源: // 替换brew.git: cd "$(brew --repo)" git remote set-url origin ...
- .NET 体系结构(.net core、.net framework、xamarin之间的关系)
这是一张来自官方的图. 图中.NET FRAMEWORK..NET CORE和XAMARIN是三个不同的运行时,这三个运行时在.NET STANDARD LIBRARY之上,它们都包含一些基础的组件, ...
- 十六、.net core(.NET 6)搭建基于Redis的Hangfire定时器
搭建基于Redis的Hangfire定时器 Hangfire的定时配置信息会自动生成在指定到数据库内,包括关系型数据库或非关系型数据库内.目前为止,它在Redis.Oracle上面,可以支持最短15秒 ...
- NET?.NET Framework?.NET Core?
什么是.NET?什么是.NET Framework?什么是.NET Core? https://www.cnblogs.com/1996V/p/9037603.html 什么是.NET?什么是.NET ...
- [转].NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别
转至:https://segmentfault.com/a/1190000011539920 前段时日微软(Microsoft)正式发布了.NET Core 2.0,在很多开发社区中反响不错.但还是有 ...
- .NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别
前段时日微软(Microsoft)正式发布了.NET Core 2.0,在很多开发社区中反响不错.但还是有一些开发者发出了疑问,.NET Core.Xamarin..NET Standard和.NET ...
- .NET Core、.NET Standard、Xamarin和.NET Framework对比
近日,微软发布了.NET Core 2.0,但是开发人员中间仍然存在一些疑惑,就是.NET Core..NET Standard.Xamarin和.NET Framework有什么不同. .NET F ...
随机推荐
- 软件——关于C,typedef
1;;写博客能让我慢下来,仔细思考 1;;这篇博客大多摘自网上 1;; 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相 ...
- Javascript和jquery事件--事件对象event
1. 事件对象event 对于event,js的解释是Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态.而jq的解释是事件处理(事件对象.目标元素 ...
- 快速搭建REST API——json server
一:全局安装json-server npm install json-server -g 二:在自己项目跟目录下存放mock/data.json,json内容如下: { "roles&quo ...
- POJ 3264 Balanced Lineup 线段树RMQ
http://poj.org/problem?id=3264 题目大意: 给定N个数,还有Q个询问,求每个询问中给定的区间[a,b]中最大值和最小值之差. 思路: 依旧是线段树水题~ #include ...
- 【Codeforces Round #433 (Div. 2) B】Maxim Buys an Apartment
[链接]h在这里写链接 [题意] 你有n个位置,然后其中有k个地方是已经被人占据了的. 一个"好的位置"的定义是指,这个位置相邻的地方其中至少有一个被人占据了. k个被人占据的位置 ...
- Qt的焦点策略
Qt的窗口部件在图形用户界面中按用户的习惯的方式来处理键盘焦点.基本出发点是用户的击键能定向到屏幕上窗口中的任何一个,和在窗口中任何一个部件中.当用户按下一个键,他们期望键盘焦点能够到达正确的位置,并 ...
- 任哲<<μC/OS>>
从第二章开始啦: 程序控制块(TCB) 重要概念 相当于对应程序块的学生证,学号,,, 上面的图是一个简单的程序控制块,还会有复杂的程序控制块,也许是嵌套的两级的: 链表就相当于老师手中的花名册, ...
- ZOJ 3336 Friend Number II
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3780 题目大意: 给你一个正整数x,要求每个数字上的总和和x相同且比x大的最小 ...
- C++利用SOAP开发WebService
// soapconsole.cpp : Defines the entry point for the console application.// #include "stdafx.h& ...
- PatentTips - Enhanced I/O Performance in a Multi-Processor System Via Interrupt Affinity Schemes
BACKGROUND OF THE INVENTION This relates to Input/Output (I/O) performance in a host system having m ...