.NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
来源:互联网 发布:淘宝追加评价在哪里看 编辑:程序博客网 时间:2024/06/03 23:01
在之前的博文中我们在 Ubuntu 上成功编译出了 dnx ,并且用它成功运行了%26nbsp;ASP.NET 5 示例程序。在这篇博文中我们将 Ubuntu 换成 CentOS。
目前 dnx 的编译需要用到 mono,所以先要安装 mono,而且最好是用最新的 mono 源代码进行编译并安装。
我们实际成功编译的操作步骤如下(假设将 mono 安装到%26nbsp;/data/mono_build 目录):
mkdir /data/mono_buildPATH=/data/mono_build/bin:$PATHgit clone https://github.com/mono/mono.gitcd mono./autogen.sh --prefix=/data/mono_buildmake get-monolite-latestmakemake 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.shInstalling '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 versionLatest version is 1.0.0-beta6-12085 Downloading dnx-mono.1.0.0-beta6-12085 from https://www.myget.org/F/aspnetvnext/api/v2Download: 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-12085Adding /root/.dnx/runtimes/dnx-mono.1.0.0-beta6-12085/bin to process PATHSetting 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.gitsh autogen.sh./configuremakemake installldconfig
不然会出现下面的错误:
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 . runHello World
2)HelloWeb
[root@server1 HelloWeb]# /data/git/dnx/artifacts/build/dnx-coreclr-linux-x64/bin/dnx . kestrelStarted
3)HelloMvc
[root@server1 HelloMvc]# /data/git/dnx/artifacts/build/dnx-coreclr-linux-x64/bin/dnx . kestrelStarted
在 CentOS 上也成功体验了一下跨平台的 .NET。
0 0
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- 指定.net程序在特定.net平台编译运行
- 在.NET平台上运行Java程序-IKVM.NET入门
- Docker打包 Asp.Net Core应用,在CentOS上运行
- Docker打包 Asp.Net Core应用,在CentOS上运行
- mono:Xsp,在linux平台上运行asp.net
- 4.1.5 交叉编译示例程序并在mini6410上运行
- ASP.NET上运行Redis简单示例
- 【ASP.NET CORE 2.0】在CentOS上部署ASP.NET CORE 2.0程序【超详细】
- 在.net平台上运行伪JAVA
- Nearest Sequence(lcs)
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- UNIX环境高级编程之-----信号signal
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- hdu 2476 String painter(区间dp)
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- EasyUI上传图片,前台预览,后台读取
- 一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.<转载>
- First Missing Positive - Java Leetcode
- 各种排序算法比较
- 模拟linux的命令wc编写的一个函数
- thinkphp 后台获取argularjs http提交的post数据
- 删除最后字符串最后的字符是空格制表符等
- 一幅图教你学会 margin和padding