在之前的博文中我们在 Ubuntu 上成功编译出了 dnx ,并且用它成功运行了%26nbsp;ASP.NET 5 示例程序。在这篇博文中我们将 Ubuntu 换成 CentOS。

目前 dnx 的编译需要用到 mono,所以先要安装 mono,而且最好是用最新的 mono 源代码进行编译并安装。

我们实际成功编译的操作步骤如下(假设将 mono 安装到%26nbsp;/data/mono_build 目录):

mkdir /data/mono_build
PATH=/data/mono_build/bin:$PATH
git clone https://github.com/mono/mono.git
cd mono
./autogen.sh --prefix=/data/mono_build
make get-monolite-latest
make
make install

注:开始没有使用%26nbsp;make get-monolite-latest,结果在 make 时因为找不到 mcs 而失败。

如果想始终使用这个自己编译的 mono,需要在 ~/.bash_profile 中添加如下的的配置:

export PATH=/data/mono_build/bin:$PATH

接下来用下面的命令安装 dnvm :

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

然后就可以编译 dnx 了:

# ./build.sh
Installing 'KoreBuild 0.2.1-beta6-10166'.
Successfully installed 'KoreBuild 0.2.1-beta6-10166'.
Installing 'Sake 0.2'.
Successfully installed 'Sake 0.2'.
Determining latest version
Latest version is 1.0.0-beta6-12085
Downloading dnx-mono.1.0.0-beta6-12085 from https://www.myget.org/F/aspnetvnext/api/v2
Download: https://www.myget.org/F/aspnetvnext/api/v2/package/dnx-mono/1.0.0-beta6-12085
######################################################################## 100.0%
Installing to /root/.dnx/runtimes/dnx-mono.1.0.0-beta6-12085
Adding /root/.dnx/runtimes/dnx-mono.1.0.0-beta6-12085/bin to process PATH
Setting alias 'default' to 'dnx-mono.1.0.0-beta6-12085'
...
Attempting to build package from 'dnx-mono.nuspec'.
Successfully created package '/data/git/dnx/artifacts/build/dnx-mono.1.0.0-t150618141518.nupkg'.
info: Target package

编译成功后,就可以用%26nbsp;artifacts/build/dnx-coreclr-linux-x64/bin 中的 dnx 运行 ASP.NET 5 示例程序了。

先从 GitHub 上签出 ASP.NET 5 示例程序:

https://github.com/aspnet/Home.git

运行前准备:

1)启用 dnvm

source /root/.dnx/dnvm/dnvm.sh

2)安装 openssl

yum install -y openssl-devel

不然会出现下面的错误:

System.TypeInitializationException: The type initializer for 'libcrypto' threw an exception.
---%26gt; System.Security.Cryptography.CryptographicException: Error occurred during a cryptographic operation.
at Interop.libcrypto..cctor()

3)编译并安装%26nbsp;libuv(为了运行kestrel)

git clone https://github.com/libuv/libuv.git
sh autogen.sh
./configure
make
make install
ldconfig

不然会出现下面的错误:

System.InvalidOperationException: Unable to load libuv. Make sure libuv is installed and available as libuv.so.1

然后分别运行 Home/samples/latest/ 中的三个 ASP.NET 5 示例程序(运行前先要运行 dnu restore)。

1)ConsoleApp

[root@server1 ConsoleApp]# /data/git/dnx/artifacts/build/dnx-coreclr-linux-x64/bin/dnx . run
Hello World

2)HelloWeb

[root@server1 HelloWeb]# /data/git/dnx/artifacts/build/dnx-coreclr-linux-x64/bin/dnx . kestrel
Started

3)HelloMvc

[root@server1 HelloMvc]# /data/git/dnx/artifacts/build/dnx-coreclr-linux-x64/bin/dnx . kestrel
Started

在 CentOS 上也成功体验了一下跨平台的 .NET。

.NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序相关推荐

  1. CentOS上搭建Nginx + Mono 运行 asp.net

    安装步骤: 一.获取开源相关程序: 1.利用CentOS Linux系统自带的yum命令安装.升级所需的程序库: sudo -sLANG=Cyum -y install gcc gcc-c++ aut ...

  2. 在CentOS上部署基于dnx/coreclr的ASP.NET 5应用程序

    在Ubuntu上写好了一个简单的ASP.NET 5应用程序,尝试将这个程序部署在没有mono环境的CentOS服务器上. 部署步骤如下: 1)安装libuv(KestrelHttpServer需要它) ...

  3. centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程

    在CentOS上编译安装llvm-3.8.1详细教程 2020/1/11  18:12 1682次 注:CentOS版本是6.8,6.x版本的操作类似 安装需求: [list] [*]Cmake: 3 ...

  4. 在Linux CentOS上编译CoreCLR

    经过几天的努力,终于解决了在CentOS上编译CoreCLR的问题.最终发现问题是CMAKE_C_FLAGS的设置引起的. 只要在"src/pal/tools/clang-compiler- ...

  5. centos安装llvm_Linux CentOS上编译并安装Clang教程

    如何在Linux CentOS上编译并安装Clang?下面小编为大家具体的介绍一下,解决你在安装Clang遇到的一系列问题. 一.Minimal版CentOS安装Clang前的环境准备 1,安装gcc ...

  6. 在PK体系下的CentOS上编译安装 MySQL 5.7

    本文主要介绍如何在 PK 体系下的 CentOS 上编译安装 MySQL 5.7,本文使用的操作系统环境为: CentOS 版本: # cat /etc/redhat-release CentOS L ...

  7. 在CentOS上使用Jexus托管运行 ZKEACMS

    ZKEACMS Core 是基于 .net core 开发的,可以在 windows, linux, mac 上跨平台运行,接下来我们来看看如何在 CentOS 上使用Jexus托管运行 ZKEACM ...

  8. linux gnuplot yum源,在CentOS上编译安装gnuplot绘图工具

    gnuplot是一个命令行的交互式绘图工具.用户通过输入命令,可以逐步设置或修改绘图环境,并以图形描述数据或函数,使我们可以借由图形做更进一步的分析. gnuplot是由Colin Kelly和Tho ...

  9. 在Centos上编译安装nginx

    实验环境: OS: CentOS 6.6 nginx:nginx-1.6.2.tar.gz 前期准备: 安装开发包组件 [root@1inux tmp]# yum -y groupinstall &q ...

  10. CentOS上编译安装Nginx

    背景 为了解决CentOS7.2自带的Nginx上没有auth-request支持的问题,需要自己手工编译安装Nginx . 安装依赖 更新yum yum update -y yum -y insta ...

最新文章

  1. 初识中文分词(一)MMSEG
  2. 【MyBatis】sql列名与实体类属性名不同的解决方式
  3. android edittext不可复制_精选Android中高级面试题:性能优化,JNI,设计模式
  4. 深度学习笔记(待续)
  5. 简单配置 docker swarm
  6. note同步不及时 one_一辆理想ONE又“跪了”?理想官方紧急发文回应
  7. 国内厂商 Onyx 违反 GPL 协议,中国开源何去何从?
  8. 机器学习Scikit-Learn相关文档汇总(ApacheCN)
  9. 问题六十四:怎么用C++实现二叉查找树(binary search tree)及其相关操作
  10. 2020年5月机器视觉工作阶段性总结
  11. 从字符串或16进制数得到UIColor
  12. 如何时刻保持在目标的正确轨道上
  13. 笔记本电脑显示打印机服务器关闭,电脑打印机服务能设定自动关闭吗
  14. 我的开发环境配置经验
  15. Excel中阳历转阴历
  16. windows下快速安装nginx并配置开机自启动的方法
  17. Bootrom -> bootloader -> kernel -> init >android
  18. 回文序列是指正读反读均相同的字符序列,如“abba”和“abdba”均是 回文,但“good”不是回文。试写一个算法判定给定的字符串是否为回文序列。
  19. win10+CUDA10.1+cudnn7.6+MX250安装过程
  20. 使用expdp导出数据

热门文章

  1. qq相册回收站复原显示服务器繁忙,qq回收站里恢复的照片在哪看 qq照片回收站还原照片路径地址...
  2. JPA项目,Encountered a duplicated sql alias
  3. BFD:Bidirectional Forwarding Detection 双向转发检测
  4. QT之调用百度地图离线API
  5. 培训课程通知邮件模板
  6. GC算法精解(五分钟让你彻底明白标记/清除算法)
  7. js关系图库:aworkflow
  8. 【LOJ 10064】黑暗城堡
  9. httpclient中 RequestEntity和RequestBody区别
  10. iOS 11 正式发布!最全功能介绍 + 视频 ...