在CentOS 7上安装.NET Core R2跑Hello World

前言

在上个月.NET Core出了最新版本预览版,只是在Window系统上试验了一下。原本想等发布正式版的时候在linux系统上试试,可能还需要一段时间,刚好有空可以折腾一下。

由于之前安装的Ubuntu系统是16的,目前还不支持,就没有在Ubuntu上测试。

系统环境:CentOS 7(1511) Minimal Core版本。

安装

提示:
Nodejs和Yeoman是用于自动化创建ASP.NET项目的,不是必须项。
本文是用Yeoman创建的ASP.NET项目,故添加了Nodejs和Yeoman的安装。
如果觉得不需要可以不安装。

.NET Core[必须]

1.去官网下载.NET Core:dotnet-dev-centos-x64.1.0.0-preview1-002702.tar.gz

2.移动并解压下载的安装文件。

$ # 创建dotnet文件夹
$ mkdir ~/dotnet
$ # 复制dotnet安装文件到dotnet文件夹下
$ cp dotnet-dev-centos-x64.1.0.0-preview1-002702.tar.gz ~/dotnet
$ # 解压安装文件
$ tar -xzf ~/dotnet/dotnet-dev-centos-x64.1.0.0-preview1-002702.tar.gz
$ # 删除dotnet文件夹下的原文件
$ rm ~/dotnet/dotnet-dev-centos-x64.1.0.0-preview1-002702.tar.gz

3.添加软连接,可以在全局使用。

$ ln -s ~/dotnet/dotnet /usr/local/bin

4.测试安装是否成功。

$ dotnet --version
1.0.0-preview1-002702 #输出版本号

Nodejs[可选]

不要使用系统自带的安装,版本太低。

1.去官网下载nodejs安装文件:node-v4.4.5-linux-x64.tar.xz

2.复制并解压。

$ # 创建nodejs文件夹
$ mkdir /usr/local/nodejs
$ # 复制node安装文件到nodejs文件夹下
$ cp node-v4.4.5-linux-x64.tar.xz /usr/local/nodejs
$ # 解压安装文件
$ tar -zvxf /usr/local/nodejs/node-v4.4.5-linux-x64.tar.xz
$ # 删除nodejs文件夹下的原文件
$ rm /usr/local/nodejs/node-v4.4.5-linux-x64.tar.xz

3.添加软连接,可以在全局使用。

$ sudo ln -s /usr/local/nodejs/node /usr/local/bin/node
$ sudo ln -s /usr/local/nodejs/npm /usr/local/bin/npm
$ sudo ln -s /usr/local/nodejs/node /usr/bin/node
$ sudo ln -s /usr/local/nodejs/node /usr/lib/node
$ sudo ln -s /usr/local/nodejs/npm /usr/bin/npm

4.测试安装是否成功。

$ node -v
v4.4.5 #输出版本号
$ npm -v
3.9.5 #输出版本号

Yeoman[可选]

Yeoman是用于创建asp.net的,同时需要安装相关的node插件:bower、grunt、gulp。

1.使用npm执行安装命令

$ sudo npm install -g yo bower grunt-cli gulp

等待安装完成。

2.安装asp.net生成器

$ npm install -g generator-aspnet

3.添加系统变量

将node的bin文件夹添加至系统变量中,否则会提示npm安装的插件命令不存在。

打开用户目录下的.bashrc文件:

$ vi ~/.bashrc

在尾部添加如下内容:

export PATH="/usr/local/nodejs/bin":$PATH

使用source 命令生效:

$ source ~/.bashrc

VSCode[可选]

这个可以不安装,如果不需要修改代码。

1.去官网下载安装包:vscode-x86_64.rpm

2.执行安装操作

$ rpm -ivh vscode-x86_64.rpm

3.测试安装是否成功。

$ code

如果能启动vscode则安装正确。

注:如果使用zip文件安装,跟.NET Core步骤一样。还需要安装unzip

需要安装C#扩展,在vscode中,按快捷键Ctrl + Shift + P,输入下面命令:

ext install csharp

创建控制台程序

步骤直接写在代码中。

$ #创建文件夹
$ mkdir ~/dotnetcore
$ mkdir ~/dotnetcore/ConsoleApp
$ cd ~/dotnetcore/ConsoleApp
$ #新建控制台程序
$ dotnet new
$ #还原nuget包
$ dotnet restore
$ #编译
$ dotnet build
$ #运行
$ dotnet run

实际操作图(示例):

创建ASP.NET程序

本文使用Yeoman脚手架创建。
如果不使用Yeoman创建,推荐阅读:ASP.NET Core 中文文档 第一章 入门

1.执行命令yo aspnet

选择第三项,Web Application。

2.选择UI框架,这里选Bootstrap:

3.输入项目名称,可以默认:

4.等待安装完成

5.按照上面提示命令,依次执行

$ cd WebApplication
$ #还原nuget包
$ dotnet restore
$ #编译
$ dotnet build
$ #创建SQLite数据库
$ dotnet ef database update
$ #运行
$ dotnet run

6.查看效果

原文:在CentOS 7上安装.NET Core R2跑Hello World

NET Core R2跑Hello World的更多相关文章

  1. 在CentOS 7上安装.NET Core R2跑Hello World

    前言 在上个月.NET Core出了最新版本预览版,只是在Window系统上试验了一下.原本想等发布正式版的时候在linux系统上试试,可能还需要一段时间,刚好有空可以折腾一下. 由于之前安装的Ubu ...

  2. [.NET Core].NET Core R2安装教程及Hello示例

    前言 前几天.NET Core发布了.NET Core 1.0.1 R2 预览版,之前想着有时间尝试下.NET Core.由于各种原因,就没有初试.刚好,前几天看到.NET Core发布新版本了,决定 ...

  3. .NET Core R2

    .NET Core R2安装及示例教程   前言 前几天.NET Core发布了.NET Core 1.0.1 R2 预览版,之前想着有时间尝试下.NET Core.由于各种原因,就没有初试.刚好,前 ...

  4. .NET Core R2安装及示例教程

    .NET Core R2安装及示例教程 Install for Windows - Visual Studio 2015 1 Download Visual Studio 2015 Make sure ...

  5. BDD实战篇 - .NET Core里跑Specflow - 可以跑集成测试和单元测试

    这是<如何用ABP框架快速完成项目 >系列中和DevOps系列文章其中一篇文章.   BDD很赞!比TDD先进很多,能够大大提高编码效率.   上一篇文章说了如何在.NET Core里安装 ...

  6. .NET Core 开发之旅 (1. .NET Core R2安装教程及Hello示例)

    前言 前几天.NET Core发布了.NET Core 1.0.1 R2 预览版,之前想着有时间尝试下.NET Core.由于各种原因,就没有初试.刚好,前几天看到.NET Core发布新版本了,决定 ...

  7. 结合Jexus + Kestrel 部署 asp.net core 生产环境

    ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖. 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: ...

  8. 微软架构师解读Windows Server 2008 R2新特性

    目前众多企业都开始为自己寻找一个更加适合自身发展的服务器操作平台.微软的Windows Server 2008 R2就是可以为大家解决服务器平台问题.微软最新的服务器平台Windows Server ...

  9. Jexus + Kestrel 部署 asp.net core

    结合Jexus + Kestrel 部署 asp.net core 生产环境 ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依 ...

随机推荐

  1. CBV进阶(一)

    http_method_names , http_method_not_allowd 用途:views只接受这些请求. 范围View Default:['get', 'post', 'put', 'p ...

  2. C# 操作Excel (二)

    根据翻阅LTP.Net知识库系列之四中Office操作功能: 一.记录常用如下 (1)“在自己的程序中宿主Office”的意思就是在我们自己开发的应用程序的窗体上,显示一个就像Office应用程序那样 ...

  3. MFC中SDI程序创建流程的回顾

    SDI程序创建流程的回顾 从CWinApp.InitialInstance()开始, 1.首先应用程序对象创建文档模板; CSingleDocTemplate* pDocTemplate; pDocT ...

  4. C++ 自定义结构体和类 内存对齐

    为什么要提出内存对齐? 比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写入8个字节的数据,假如软件能保证double类型的数据都从8倍数地址开始,那么读或写一个doubl ...

  5. c# datagridviewcomboboxcell值无效的解决办法

    一直认为是数据库存储的数据和datagridviewcomboboxcell对不上导致,今天碰到两者对应上了,预览的时候还是提示错误, 查看了下网上其他大神的解决方法,是数据库字段类型有误,查看了下, ...

  6. IOS7 适配以及向下兼容问题

    1.所有的UIViewController加如下方法.     - (void) viewDidLayoutSubviews {         if ([[[UIDevice currentDevi ...

  7. 扩展欧几里德算法解二元一次方程之B - 青蛙的约会

    Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...

  8. 内核printk打印等级

    为了确认内核打印等级以及prink 参数对打印的分级,在led驱动初始化代码[以及exit出口]加入如下代码. 每次insmod .rmmod led模块时,根据打印等级的设置,得到不同的打印结果: ...

  9. .NET通过PowerShell操作ExChange为用户开通邮箱账号

    最近工作中一个web项目需要集成exchange邮箱服务,注册用户时需要动态创建邮箱用户,终于在http://www.cnblogs.com/gongguo/archive/2012/03/12/23 ...

  10. python中enumerate 函数

    enumerate 函数用于遍历序列中的元素以及它们的下标: >>> for i,j in enumerate(('a','b','c')):  print i,j 0 a 1 b ...