最近.net core如火如荼,国内这方面环境搭建方面的文档也非常多,但是不少已经是过时的,就算按照那个流程走下去也避免不了一些地方早就不一样了。所以下面我将从头到尾的教大家搭建一次环境,并且成功运行官网的demo。

一.系统环境

本次笔者因为懒的去做虚拟机,所以注册了一个云提供商的试用账户作为本次的主机。

系统: Ubuntu Server 14.04.2 LTS 64bit

Mono: 1.0.0-rc1-update1

Coreclr: 1.0.0-rc1-update1

二.正文

1.首先我们先安装Mono环境

1.1我们在控制台先输入:

内容如下:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

1.2接着继续输入:

内容如下:

echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list

1.3继续安装:

内容如下:

sudo apt-get update

1.4最后一步就开始正式的下载mono并安装了,耗时会比较长

内容如下:

sudo apt-get install mono-complete

1.5上面的步骤完成完毕之后要确认是否安装成功,并且版本正确,我们需要输入下面指令去查看

这里需要注意下,读者安装完成后,请看下版本号,你的版本号应该和我一样或者比我高,如果比我低后面的安装会出现问题,所以这里务必确认安装了正确版本的Mono。

2.安装.Net版本控制(DNVM)

内容如下:

curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh

3.安装DNX

DNX就是net运行环境,当前提供了mono和.net core两种方式,笔者将会安装两个,并利用这两个环境分别运行我们的程序。

3.1安装DNX必须工具

内容如下:

sudo apt-get install libunwind8 gettext libssl-dev libcurl4-openssl-dev zlib1g libicu-dev uuid-dev

3.2安装DNX for .net core

可以看到我们当前下载的版本是 1.0.0-rc1-update1。

内容如下:

dnvm upgrade -r coreclr

3.3安装DNX for mono

之前我们仅仅只是安装了mono,但是没有安装DNX对应的mono sdk。

内容如下:

dnvm upgrade -r mono

3.4验证我们安装的DNX

下面我们通过下面的指令查看我们当前安装的DNX有些版本

可以看到我们安装了对应版本的mono实现和coreclr实现,所以大家一定要了解dnvm、dnx、mono和coreclr的关系。

3.5安装libuv

这个是运行Web必须要安装的一个库。相关的命令如下,笔者就不再一一截图了。

sudo apt-get install make automake libtool curl
curl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar zxfv - -C /usr/local/src
cd /usr/local/src/libuv-1.8.
sudo sh autogen.sh
sudo ./configure
sudo make
sudo make install
sudo rm -rf /usr/local/src/libuv-1.8. && cd ~/
sudo ldconfig

4.运行官方示例

4.1为了能够下载官网的示例,所以我们需要先安装git

安装完成之后我们在将官网的实例下载到本地

随后我们再切换到对应的目录下,在笔者的机器上通过下面的指令就可以到对应版本的实例下

切换到该目录之后通过ls我们可以查看到有哪几个实例:

官方默认提供了控制台,asp.net 5和asp.net mvc 6三个示例。

4.2利用mono和coreclr运行控制台示例

首先我们切换到该目录下:

然后恢复下引用的库:

具体安装时间要根据读者的网络环境决定,如果显示如下界面表示安装成功:

然后我们就可以利用DNX运行了:

正确的输出了。

下面我们将DNX切换到coreclr来运行该程序:

成功切换,下面我们直接运行:

也成功输出了内容。

4.3利用mono和coreclr运行mvc

首先我们还是需要切换到对应的目录下,记住当前我们的DNX是Coreclr:

恢复引用的库:

这个耗时可能比较长,因为引用库比较多。继续是安装成功的界面:

这次运行可不是dnx run了,如果你想试试可以试着运行,最后的错误相信读者也能够明白,这里我们需要通过其他的指令去运行(dnx web):

我们成功的看到了最后的效果,下面我们切换到mono去运行一次。

最后运行依然还是DNX Web

参考:

http://druss.co/2015/03/vnext-install-asp-net-5-dnx-on-ubuntu/

https://docs.asp.net/en/latest/getting-started/installing-on-linux.html#installing-on-debian-ubuntu-and-derivatives

https://github.com/dotnet/coreclr/blob/master/Documentation/install/get-dotnetcore-dnx-linux.md

云服务器下ASP.NET Core 1.0环境搭建(包含mono与coreclr)的更多相关文章

  1. win10下ASP.NET Core 2.0部署环境搭建(转)

    此文用于记录在win10环境下,新建的Asp.net Core 2.0 Web应用项目如何运行在IIS上 一.运行环境 操作系统: Window10 家庭中文版 版本 10.0.15063 版本 15 ...

  2. asp.net core 2.0+sqlsugar搭建个人网站系列(0)

    一些废话 马上就要过年了,回顾这一年最大的收获就是技术有了很大的提升,其他的方面没有什么改变,现在还是单身小屌丝一枚. 这一年来学习的主要重点就是asp.net core,中间也使用 core+EF做 ...

  3. 基于ASP.NET Core 3.0快速搭建Razor Pages Web应用

    前言 虽然说学习新的开发框架是一项巨大的投资,但是作为一个开发人员,不断学习新的技术并快速上手是我们应该掌握的技能,甚至是一个.NET Framework开发人员,学习.NET Core 新框架可以更 ...

  4. 【原生态跨平台:ASP.NET Core 1.0(非Mono)在 Ubuntu 14.04 服务器上一对一的配置实现-篇幅1】

    鸡冻人心的2016,微软高产年. build 2016后 各种干货层出不穷. 1 Win10 集成了bash  ,实现了纳德拉的成诺,Microsoft Love Linux!!! 2 跨平台  ,收 ...

  5. ASP.NET Core 1.0 中 EntityFramework 与 PostgreSQL 的使用

    https://docs.efproject.net/en/latest/providers/npgsql/index.html 前面在CentOS6.7环境下配置好了PostgreSQL, 就顺便试 ...

  6. ASP.NET Core 5.0中的Host.CreateDefaultBuilder执行过程

      通过Rider调试的方式看了下ASP.NET Core 5.0的Web API默认项目,重点关注Host.CreateDefaultBuilder(args)中的执行过程,主要包括主机配置.应用程 ...

  7. [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  8. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  9. Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类

    本文目录 1.  前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...

随机推荐

  1. krpano漫游加方向性3D声音(这篇文章已被移到krpano中国网站 krpano360.com)

    需求:      在场景转换视角时.会出现不同方位的声音以及对应的音量变化,也即是将声音视作hotspot.当视角转到该声音热点时,也随之听到声音.官方样例:点击打开链接 本文已经搬迁到下述网址.请点 ...

  2. 如何用Excel直接查询Oracle中的数据(转)

    将Oracle中查询的数据保存为Excel文件,通常使用的是PL/SQL Developer. 其实,Excel可直接写SQL语句查询Oracle中数据,在这里,用到ODBC驱动.详细步骤如下: 一. ...

  3. Find a way (BFS)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 BFS搜索  目标地  并记录下来  之后再判断两段路程之和 代码: #include < ...

  4. 大数据系列修炼-Scala课程08

    接下来会讲解关于各种模式匹配,从中就会知道模式匹配的重要性 关于Type.Array.List.Tuple模式解析 1.Type模式匹配代码解析 //关于Type类型的模式匹配 //匹配 Int类型. ...

  5. sql server判断表是否存在

    1.判断数据表是否存在 方法一: use yourdb;go if object_id(N'tablename',N'U') is not nullprint '存在'else print '不存在' ...

  6. Struts1——离BeanUtils看struts其原理1

    在Struts中非常典型的特点就是使用了ActionForm来搜集表单数据,可是搜集到的表单数据所有都是String类型的.假设我们直接拿来使用我们会面临一个非常麻烦的问题就是频繁的类型装换. Str ...

  7. 【Swift初见】Swift词典

    顾名思义.当我们仰望的时候,我们将基于索引查找我们需要找到的资源.在swift这同样适用,每个对象包括字典key和value.我们key为了找到当前这个key相应的value.与数组不同的是,字典项字 ...

  8. 【Stackoverflow好问题】java在,如何推断阵列Array是否包括指定的值

    问题 java中,怎样推断数组Array是否包括指定的值 精华回答 1. Arrays.asList(...).contains(...) 2. 使用 Apache Commons Lang包中的Ar ...

  9. js小记 function 的 length 属性

    原文:js小记 function 的 length 属性 [1,2,3]., ,这个略懂js的都知道. 但是  eval.length,RegExp.length,"".toStr ...

  10. Jquery()核心函数的7个重载方法

    (1) jquery() 该函数返回一个空的jQuery对象.在jQuery1.4以后的版本中,改函数返回一个空的jQuery对象.在之后的版本中,该函数会返回一个包含document节点的对象. ( ...