.Net Core 系列:1、环境搭建

前言:

2016年6月28日微软宣布发布 .NET Core 1.0、ASP.NET Core 1.0 和 Entity Framework Core 1.0。 .NET Core是微软在两年前发起的开源跨平台.NET框架项目,支持Windows、OS X和Linux平台,可用于开发各种类型的应用。此次发布包括了 .NET Core运行时、库和工具,以及  ASP.NET Core库。微软还释出了Visual Studio和Visual Studio Code扩展,允许开发者创建 .NET Core项目。如果要使用Visual Studio构建 .NET Core应用,开发者需要安装最新的 Visual Studio 2015 Update 32。

.NET Core 目前还有很多功能无法和传统Framework及mono比。而且在老项目的迁移,各种开源类库的支持上,目前相对匮乏。很多人会有疑问,微软历时2年发布的一个.NET Core、ASP.NET Core、Entity Framework Core 能为我们解决什么难题?我们可以是用它们来完成什么业务?

但是无论什么业务,万行“代码”从Hello Word起。。。。。

一、环境搭建

无论使用什么语言,编程必须要学习的第一件事情,环境搭建。人类是高级动物,因为人类会使用工具,环境搭建其实是构造工具的过程。目前官网上(https://www.microsoft.com/net/core#windows)有包含Windows、Linux、Mac、Docker的环境教程,相对还是很清晰的,但是这个网站说的是开发环境的使用,运行环境呢?并没有详细介绍。而且就开发环境来说对于老NET人,一向是神器在手(Visual Studio 201×)什么开发环境都一键搞定。但是这个一键搞定在跨平台后就造成了各种的坑。

习惯上我们在安装开发环境时安装的是.NET Core SDK,安装运行环境时安装的是.NET Core

.NET Core SDK = Develop apps with .NET Core and the SDK+CLI (Software Development Kit/Command Line Interface) tools
       .NET Core = Run apps with the .NET Core runtime

因为本人比较熟悉Linux Centos 7 所以本人将以Centos 7 为基础讲述。

Centos 7.1 安装开发环境

#依赖包
sudo yum install libunwind libicu
#开发环境下载的还是preview2
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131
#官网的是将文件安装到/opt/目录 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo mkdir -p /usr/share/dotnet-dev-1.0.0 && tar zxf dotnet.tar.gz -C /usr/share/dotnet-dev-1.0.0
#将dotnet 执行程序映射到/usr/bin执行目录;
sudo ln -s /usr/share/dotnet-dev-1.0.0/dotnet /usr/bin

  dotnet --help显示信息如下所示

[root@968a822651a3 hellword]# dotnet --help
.NET Command Line Tools (1.0.0-preview2-003121)
Usage: dotnet [host-options] [command] [arguments] [common-options] Arguments:
[command] The command to execute
[arguments] Arguments to pass to the command
[host-options] Options specific to dotnet (host)
[common-options] Options common to all commands Common options:
-v|--verbose Enable verbose output
-h|--help Show help Host options (passed before the command):
-v|--verbose Enable verbose output
--version Display .NET CLI Version Number
--info Display .NET CLI Info Common Commands:
new Initialize a basic .NET project
restore Restore dependencies specified in the .NET project
build Builds a .NET project
publish Publishes a .NET project for deployment (including the runtime)
run Compiles and immediately executes a .NET project
test Runs unit tests using the test runner specified in the project
pack Creates a NuGet package

  Centos 7.1 安装运行环境

#依赖包
sudo yum install libunwind libicu
#运行环境下载
curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/1.0.0/dotnet-centos-x64.1.0.0.tar.gz
#官网的是将文件安装到/opt/目录 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo mkdir -p /usr/share/dotnet-1.0.0 && tar zxf dotnet.tar.gz -C /usr/share/dotnet-1.0.0
#将dotnet 执行程序映射到/usr/bin执行目录;
sudo ln -s /usr/share/dotnet-1.0.0/dotnet /usr/bin

dotnet --help显示信息如下所示

[root@19b9997445b9 dotnet]# dotnet --help

Microsoft .NET Core Shared Framework Host

  Version  : 1.0.1
Build : cee57bf6c981237d80aa1631cfe83cb9ba329f12 Usage: dotnet [common-options] [[options] path-to-application] Common Options:
--help Display .NET Core Shared Framework Host help.
--version Display .NET Core Shared Framework Host version. Options:
--fx-version <version> Version of the installed Shared Framework to use to run the application.
--additionalprobingpath <path> Path containing probing policy and assemblies to probe for. Path to Application:
The path to a .NET Core managed application, dll or exe file to execute. If you are debugging the Shared Framework Host, set 'COREHOST_TRACE' to '1' in your environment. To get started on developing applications for .NET Core, install .NET SDK from:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

    Windows 10 安装开发环境(非vs2015)

    (只有在win10下才能使用命令行的方式执行,在win7下提示一下错误:Failed to load the dll from [C:\Program Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x80070057)

下载DotNetCore.1.0.0-SDK.Preview2-x64:https://download.microsoft.com/download/A/3/8/A38489F3-9777-41DD-83F8-2CBDFAB2520C/packages/DotNetCore.1.0.0-SDK.Preview2-x64.exe

   Windows 10 安装运行环境

下载DotNetCore.1.0.0-Runtime-x64.exe:https://download.microsoft.com/download/A/3/8/A38489F3-9777-41DD-83F8-2CBDFAB2520C/packages/DotNetCore.1.0.0-Runtime-x64.exe

    Docker 安装运行环境

官网上的Docker是以Debian 为基础镜像的,而我使用Docker为Centos为镜像,所以我必须自己编写Dockerfile来构建我要的docker images

# VERSION 1.0
FROM maydear.com/centos:7 #//其实就是官方镜像改TAG,自己docker pull centos后修改语句
MAINTAINER kelvin "kelvin@maydear.com" # 更新系统源
RUN yum -y update && yum clean all
# 安装依赖包
RUN yum -y install libunwind libicu # Install .NET Core
ENV DOTNET_VERSION 1.0.0
ENV DOTNET_DOWNLOAD_URL https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/$DOTNET_VERSION/dotnet-centos-x64.$DOTNET_VERSION.tar.gz RUN curl -sSL -o dotnet.tar.gz $DOTNET_DOWNLOAD_URL #安装dotnet core
RUN mkdir -p /usr/share/dotnet-$DOTNET_VERSION && tar zxf dotnet.tar.gz -C /usr/share/dotnet-$DOTNET_VERSION #安装dotnet core 到启动命令
RUN ln -s /usr/share/dotnet-$DOTNET_VERSION/dotnet /usr/bin RUN rm -rf dotnet.tar.gz
CMD [ "/bin/bash" ] #build image:
#sudo docker build --rm -t="maydear.com/dotnet:1.0" . #run container:
#sudo docker run -it --name=dotnet -d -v /xxx:/xxx --privileged=true maydear.com/dotnet:1.0

二、第一个.Net Core 程序

Centos 7 秒出Hello World

mkdir helloworld
cd helloworld sudo dotnet new && dotnet restore && dotnet build

sudo dotnet run

发布dotnet Core 程序

sudo dotnet publish

拷贝文件到运行服务器,并运行

三、使用VS2015开发第一个Hello Word

1、安装Visual Studio Community 2015 Update 3 (略。。)

2、安装 DotNetCore.1.0.0.RC2-VS2015Tools.Preview1插件。http://download.microsoft.com/download/A/3/8/A38489F3-9777-41DD-83F8-2CBDFAB2520C/DotNetCore.1.0.0-VS2015Tools.Preview2.exe

3、创建项目

四、总结

project.json

{
"version": "1.0.0-*",/*程序版本以前写在AssemblyInfo*/
"buildOptions": {
"emitEntryPoint": true
}, "dependencies": {/*依赖关系(引用包)*/
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"test": "1.0.2-*"/*我自己定义的NET core 类库,测试类库引用*/
}, "frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}

从Hello World 上手习惯上唯一的区别就是.NET Core 的引用是通过nuget 引用包,但是nuget如果没有支持.NET Core的包的时候,引发如图的错误:

这个nuget的自动识别,期待在Nuget3.0能有更强的优化。

 
分类: .Net Core

.Net Core 环境搭建的更多相关文章

  1. Linux学习之十--.Net Core环境搭建以及Nginx的搭建

    一.Centos7下.Net Core 环境安装: 链接:https://www.microsoft.com/net/core#linuxcentos 按照步骤来: yum install libun ...

  2. NET Core 环境搭建和命令行CLI入门

    NET Core 环境搭建和命令行CLI入门 2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文 ...

  3. NET Core 环境搭建和命令行CLI入门[转]

      NET Core 环境搭建和命令行CLI入门 时间:2016-07-06 01:48:19      阅读:258      评论:0      收藏:0      [点我收藏+]   标签: N ...

  4. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  5. 记录.NET Core部署到Linux之.NET Core环境搭建(1)

    1.在安装.NET之前,您需要注册Microsoft密钥.注册产品存储库和安装所需的依赖项. 启动我们的虚拟机,输入以下命令: sudo rpm -Uvh https://packages.micro ...

  6. .Net Core 系列:1、环境搭建

    前言: 2016年6月28日微软宣布发布 .NET Core 1.0.ASP.NET Core 1.0 和 Entity Framework Core 1.0. .NET Core是微软在两年前发起的 ...

  7. .Net Core + Angular2 环境搭建

    环境搭建: 1)node.js版本>5.0,NPM版本>3.0,TypeScript版本>2.0(全装最新版就好了) 2)安装NTVS 1.2(node tools for vs), ...

  8. 在Ubuntu搭建.NET Core环境

    Ubuntu16.04配置.net core环境   Ubuntu 16.04 desktop下载地址:http://www.ubuntu.com/desktop 本次是用vmware安装该系统.   ...

  9. 在Windows系统搭建.NET Core环境并创建运行ASP.NET网站

    微软于6月27日在红帽DevNation峰会上 正式发布了.NET Core 1.0.ASP.NET 1.0和Entity Framework Core 1.0,其将全部支持Windows.OS X和 ...

随机推荐

  1. github桌面软件使用教程

    github桌面软件使用教程 首先 要先安装 桌面版官网,或者百度搜github windows下载即可 可以再github网站上直接点击,把代码添加的桌面软件中 也可以再左上角添加项目,比如actu ...

  2. c语言各类问题 代码

    定义一个结构体,有两个成员变量,一个整型的n,一个字符型的c,利用结构体类型声明一个具有5个元素的数组,并随机初始化,根据成员变量n进行从小到大排序,然后输出 冒泡排序然后 在输出结构体#includ ...

  3. IOS 页面之间的传值(主讲delegate)

    IOS的Delegate,通俗一点说就是页面之间的传值. 总结一下现在知道的IOS页面之间传值的方式有三种 1.使用NSNotification发送通知的传值 主要是通过NSNotificationC ...

  4. IOS 表视图(UITableVIew)的使用方法(6)表视图的编辑功能(新增Add)

    表视图的新增功能和删除功能虽然目的不同,但是工作流程是相似的 下面列出在处理新增的回调函数时,与删除所不同的逻辑部分代码. 显示下过如下: #pragma mark #pragma mark Tabl ...

  5. 部署vc2008开发的程序(vcredist_x86是其中一个办法)

    如果你编译了一个VC2008的默认的CRT/MFC的应用程序,如果目标部署电脑上没有安装相应的VC2008的动态库,当运行你的程序的时 个,会出现如下错误信息.   这是因为程序使用了基于VC2008 ...

  6. 基于Visual C++2013拆解世界五百强面试题--题16-进制分析

    清写出下列代码的输出内容 #include <stdio.h> int main() { int a = -1, b = -12, c = -123, d = -1234; printf( ...

  7. HDU 2202 最大三角形

    题解:先算出凸包,然后枚举凸包上的点计算即可 #include <cstdio> #include <cmath> #include <cstdlib> #incl ...

  8. Java中有关构造函数的一道笔试题解析

    Java中有关构造函数的一道笔试题解析 1.详细题目例如以下 下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与c ...

  9. 用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法

    法一:将iis站点的应用程序池的用户改为本地用户,如果所示: 方法二: 1.打开sql server  management studio安全性->登录名->右击新建登录名->常规- ...

  10. 查看Oracle数据库某用户的连接信息

    执行以下语句可查出用户TJAMIS_LXF连接信息: select schemaname, osuser, process, machine, port, terminal, program from ...