我是.NET核心新手,我正在尝试在CentOS计算机上运行一些基本示例。
我已阅读Microsoft文档,并发现这些步骤是我想要做的最接近的指南:
http://dotnet.github.io/core/getting-started/
按照这些步骤后,我可以运行测试/样本应用程序,但只能在单声道下运行(例如,在发布
之后)$ dnvm使用[版本] -r mono
接着是
$ dnu restore
和
$ dnx。运行
)
在.NET Core下运行时($ dnvm使用[版本] -r coreclr) 我收到以下错误:
dnx:/usr/lib64/libstdc++.so.6:版本GLIBCXX_3.4.14' not found (required by dnx)
dnx: /usr/lib64/libstdc++.so.6: version
GLIBCXX_3.4.15'未找到(dnx要求)
我尝试更新我的gcc但无济于事。 我还发现发布时出现了一些错误:
$ yum install libunwind8 libssl-dev unzip
未找到libunwind8,libssl-dev包。
这两个有关系吗? 有没有人在CentOS上成功安装.NET内核? 如果是这样,你能指点我一个指南或解释这个过程吗?谢谢!
答案 0 :(得分:5)
您现在可以使用以下步骤在CentOS 7上安装.NET Core:
yum install centos-release-dotnet
yum install rh-dotnet20
使用它:
scl enable rh-dotnet20 bash
dotnet --info
答案 1 :(得分:3)
以下是我用于在CentOS 7上安装CoreCLR的脚本。我一直在针对VirtualBox上的两个安装进行测试:
我的测试虚拟机
启用了GNOME桌面和网络的CentOS 7
启用了网络连接的CentOS 7(几乎是一个最小的安装,你得到的只是一个终端,但你的网卡可以正常下载)
我回滚到干净安装点重复测试。
百胜包
请注意原始海报试图找出CoreCLR依赖项的yum版本。我相信我已经这样做了。在这一点上,我没有遇到任何问题,但CoreCLR是实验性的,我们的答案是测试版7。
请注意,在安装了GNOME桌面的CentOS安装上运行所有这些步骤是无害的,但我在“注释”中注意到每个步骤都不需要。
这个脚本永远不会安装Mono,应该适合玩CoreClr。这就是说我把它们放在机器上并且它正在工作,但它超出了答案的范围。
## Get DNVM
curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
## install unzip before installing any dnx versions
## (appears to already be installed on CentOS with GNOME)
sudo yum install -y unzip
## Install CoreCLR latest
dnvm install latest -r coreclr
## install libuv
## dnu restore won't operate without this
## (curl already latest version, but ASP.NET on Linux docs currently have this... harmless)
sudo yum -y install automake libtool curl
curl -sSL https://github.com/libuv/libuv/archive/v1.4.2.tar.gz | sudo tar zxfv - -C /usr/local/src
cd /usr/local/src/libuv-1.4.2
sudo sh autogen.sh
sudo ./configure
sudo make
sudo make install
sudo rm -rf /usr/local/src/libuv-1.4.2 && cd ~/
sudo ldconfig
## libunwind.x86_64 is in the epel-release repository
## (Not necessary on GNOME, minimal install does not have this installed)
sudo yum -y install epel-release
## Install these CoreCLR dependencies before dnu restore
sudo yum -y install libunwind gettext libcurl-devel openssl-devel zlib
无法找到Libuv
因此,在完成所有这些之后,您可以使用yeoman asp.net生成器来获取项目。我通常使用ConsoleApplication和WebApplicationBasic进行测试。但是,当您使用
尝试WebApplicationBasic时dnx kestrel
它爆炸,因为红隼想要使用libuv并且无法加载它。解决此问题的一种方法是设置环境变量:LD_LIBRARY_PATH = / usr / local / lib。
但我对此并不满意。感谢GitHub上的paule96,我了解到你可以创建符号链接,以便在红隼运行时找到libuv:
ln -s /usr/lib64/libdl.so.2 /usr/lib64/libdl
ln -s /usr/local/lib/libuv.so /usr/lib64/libuv.so.1
如果您想知道如何安装node,yeoman和aspnet-generators,请使用:
## rpm for node 0.12 on centos from nodesource
sudo rpm -ivh https://rpm.nodesource.com/pub_0.12/el/7/x86_64/nodejs-0.12.7-1nodesource.el7.centos.x86_64.rpm
## yeoman and aspnet generators
sudo npm install -g yo
sudo npm install -g generator-aspnet
恭敬地,我会问原始海报更改问题,提到这是针对ASP.NET beta 7.仍然有一些重大变化,我可能不得不更新我的脚本。但如果问题明确指出这一点,我们就不必担心答案会变得陈旧。
例如: 如何在CoreCLR上为CentOS设置ASP.NET 5 Beta 7? 要么 如何在CentOS上设置Beta 7 .NET CoreCLR?
我还要考虑添加asp.net-5标记,除非你真的不认为你的问题适用于此。
答案 2 :(得分:1)
感谢文件,但问题是OP&我原本是关于Microsoft .net impl而不是Mono。据许多人所知,微软在2015年初开始采购.Net,并正在积极尝试将其作为xplat。请参阅: