.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 安装开发环境

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

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

  1. [root@968a822651a3 hellword]# dotnet --help
  2. .NET Command Line Tools (1.0.0-preview2-003121)
  3. Usage: dotnet [host-options] [command] [arguments] [common-options]
  4.  
  5. Arguments:
  6. [command] The command to execute
  7. [arguments] Arguments to pass to the command
  8. [host-options] Options specific to dotnet (host)
  9. [common-options] Options common to all commands
  10.  
  11. Common options:
  12. -v|--verbose Enable verbose output
  13. -h|--help Show help
  14.  
  15. Host options (passed before the command):
  16. -v|--verbose Enable verbose output
  17. --version Display .NET CLI Version Number
  18. --info Display .NET CLI Info
  19.  
  20. Common Commands:
  21. new Initialize a basic .NET project
  22. restore Restore dependencies specified in the .NET project
  23. build Builds a .NET project
  24. publish Publishes a .NET project for deployment (including the runtime)
  25. run Compiles and immediately executes a .NET project
  26. test Runs unit tests using the test runner specified in the project
  27. pack Creates a NuGet package

  Centos 7.1 安装运行环境

  1. #依赖包
  2. sudo yum install libunwind libicu
  3. #运行环境下载
  4. 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
  5. #官网的是将文件安装到/opt/目录 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
  6. sudo mkdir -p /usr/share/dotnet-1.0.0 && tar zxf dotnet.tar.gz -C /usr/share/dotnet-1.0.0
  7. #将dotnet 执行程序映射到/usr/bin执行目录;
  8. sudo ln -s /usr/share/dotnet-1.0.0/dotnet /usr/bin

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

  1. [root@19b9997445b9 dotnet]# dotnet --help
  2.  
  3. Microsoft .NET Core Shared Framework Host
  4.  
  5. Version : 1.0.1
  6. Build : cee57bf6c981237d80aa1631cfe83cb9ba329f12
  7.  
  8. Usage: dotnet [common-options] [[options] path-to-application]
  9.  
  10. Common Options:
  11. --help Display .NET Core Shared Framework Host help.
  12. --version Display .NET Core Shared Framework Host version.
  13.  
  14. Options:
  15. --fx-version <version> Version of the installed Shared Framework to use to run the application.
  16. --additionalprobingpath <path> Path containing probing policy and assemblies to probe for.
  17.  
  18. Path to Application:
  19. The path to a .NET Core managed application, dll or exe file to execute.
  20.  
  21. If you are debugging the Shared Framework Host, set 'COREHOST_TRACE' to '1' in your environment.
  22.  
  23. To get started on developing applications for .NET Core, install .NET SDK from:
  24. 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

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

二、第一个.Net Core 程序

Centos 7 秒出Hello World

  1. mkdir helloworld
  2. cd helloworld
  3.  
  4. sudo dotnet new && dotnet restore && dotnet build

  1. sudo dotnet run

发布dotnet Core 程序

  1. 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

  1. {
  2. "version": "1.0.0-*",/*程序版本以前写在AssemblyInfo*/
  3. "buildOptions": {
  4. "emitEntryPoint": true
  5. },
  6.  
  7. "dependencies": {/*依赖关系(引用包)*/
  8. "Microsoft.NETCore.App": {
  9. "type": "platform",
  10. "version": "1.0.0"
  11. },
  12. "test": "1.0.2-*"/*我自己定义的NET core 类库,测试类库引用*/
  13. },
  14.  
  15. "frameworks": {
  16. "netcoreapp1.0": {
  17. "imports": "dnxcore50"
  18. }
  19. }
  20. }

从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. C-重定向

    说实话,第一次接触重定向这一个概念,感觉是那么的神奇简洁不可思议…………………… freopen() 本来应该是打开的是文件指针,但是分配了指针,使她(亲切)指向了标准输入.输出.错误流. 用 法: ...

  2. Best practice for Invoke other scripts or exe in PowerShell

    Recently, I find I used many different type method to invoke other scripts or exe in PowerShell. May ...

  3. 高质量程序设计指南C/C++语言——malloc/free使用要点

  4. Bootstrap 响应式瀑布流 (使用wookmark)

    使用瀑布布局 官方 http://www.wookmark.com/jquery-plugin GitHub https://github.com/GBKS/Wookmark-jQuery  (下载后 ...

  5. javascript Error对象详解

    今天谈一下在IE浏览器下返回执行错误的Javascript代码所在的问题.其中在IE浏览器下,如果你使用了try-catch,那么当出现异常的时候,IE浏览器会传递一个Error对象. ~~~怎么通过 ...

  6. maven 添加自己的包

    mvn install:install-file -Dfile=d:/flea.jar -DgroupId=com.flea.bussiness -DartifactId=flea -Dversion ...

  7. 数学之路-python计算实战(16)-机器视觉-滤波去噪(邻域平均法滤波)

    # -*- coding: utf-8 -*- #code:myhaspl@myhaspl.com #邻域平均法滤波,半径为2 import cv2 import numpy as np fn=&qu ...

  8. Oracle创建表、索引、主键、字段描述

    -- 创建表 create table SX04_LBALANCE ( YEAR VARCHAR2(10) not null, PROGRAMNO VARCHAR2(40) not null, FDA ...

  9. iOS开发针对SQL语句的封装

      1.使用依赖关系 a.需要添加libsqlite3.tbd 静态库. b.需要添加第三方框架 FMBD.MJExtension. 2. SQL语句类封装名DataBaseSqlTool 类方法介绍 ...

  10. iOS 滤镜 转载,原文见正文首行链接

    转载自:http://blog.sina.com.cn/s/blog_5fb39f9101018gv7.html 直接上代码了: // // ViewController.m // 图片模糊处理 // ...