体验.Net Core for Linux

在前几天的Build 2015大会上,微软推出支持Windows、Mac OS X和Linux平台的代码编辑器Visual Studio Code,同时也发布了为Linux和Mac OS X准备的.Net Core预览版。这么多年过去了.Net终于官方支持跨平台了,还是有点小激动的。赶紧在Hyper-V上装个Ubuntu体验一下。

Visual Studio Code可以在https://code.visualstudio.com/ 下载,安装步骤可以参考这里https://code.visualstudio.com/Docs/setup#_linux

其实安装很简单,下载后直接拖到ubuntu里解压,双击code就可以了。看着蓝色的VS图标是不是有点亲切呢。不过功能完全没法和Visual Studio相比,就是个简单的代码编辑器。 :D

下面主要说说coreclr的安装和测试代码的执行。

安装步骤参考了官方的 https://github.com/dotnet/coreclr/blob/master/Documentation/get-dotnetcore-dnx-linux.md

一切顺利的安装完成,但是最后在执行文章里的测试代码的时候出现了错误。

System.IO.FileLoadException: Resource string id=0x1A88
File name: ‘net-core-test, Culture=neutral, PublicKeyToken=null‘ ---> System.TypeInitializationException: The type initializer for ‘Roslyn.Utilities.SHA1CryptoServiceProvider‘ threw an exception. ---> System.TypeInitializationException: The type initializer for ‘Roslyn.Utilities.HashAlgorithm‘ threw an exception. ---> System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
   at Roslyn.Utilities.HashAlgorithm..cctor()
   --- End of inner exception stack trace ---
   at Roslyn.Utilities.HashAlgorithm.LoadAlgorithmCreate(String name)
   at Roslyn.Utilities.SHA1CryptoServiceProvider..cctor()
   --- End of inner exception stack trace ---
.....

仔细想想,唯一和文章里不同的地方就是coreclr的版本号

文章里的:

Active Version              Runtime Arch Location             Alias
------ -------              ------- ---- --------             -----
  *    1.0.0-beta5-11649    coreclr x64  ~/.dnx/runtimes
       1.0.0-beta5-11649    mono         ~/.dnx/runtimes      default

我自己机器的:

我认为是coreclr又发布了新的版本,所以也没在意。但是问题恰恰就和这个有关。经过一番搜索发现别人也遇到了同样的问题。详情参考https://github.com/dotnet/coreclr/issues/898这个异常是11682版本的一个bug,果然是个很粗糙的预览版啊,不靠谱的很 -_-!

解决办法就是使用一个旧版本的coreclr.我使用的命令如下:

dnvm install 1.0.0-beta5-11657 -r coreclr -u
  dnvm use 1.0.0-beta5-11657 -r coreclr
  dnx . run

期待的Hello Linux终于出现了:

				
时间: 2024-08-12 14:46:42

体验.Net Core for Linux的相关文章

在ubuntu16.04中再次体验.net core 2.0

在上一篇文章中在ubuntu16.04中初次体验.net core 2.0 简单介绍了一下ubuntu中运行.net core 2.0.配置nginx反向代理以及安装supervisor守护进程--本来安装supervisor(对他不是很了解,在其他的文章中看到这么用)目的是让我们应用程序开机启动,但是现在win10 Linux子系统用不了systemctl这个命令:https://github.com/Microsoft/WSL/issues/1990 (不知道理解的对不对),之后看到微软官方

.Net Core-初体验VS2019 + Core

家里的电脑只装了VS2013,想体验下Core,干脆直接装2019,社区版免费,功能足够用了 选了常用的功能,八九G的样子,装完后导入原配置,整体差不多.公司的VS2017和VS2013完全无缝对接,体验一致,VS2019略有不同: 1.找不到HideMainMenu插件,无法隐藏顶部菜单栏,我喜欢全屏,文本区域大些,但不是那种连下方WIN栏都隐藏的全屏. 2.其它插件好像也少了,不知是不支持到2019还是什么的,整体列表少了很多,不过VS2019借鉴了很多插件的优点,不需要装也可以了. 3.多

什么是core dump linux下用core和gdb查询出现"段错误"的地方

什么是core dump   linux下用core和gdb查询出现"段错误"的地方 http://blog.chinaunix.net/uid-26833883-id-3193279.html 有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"段错误". 呵呵,这种问题我想很多人会经常遇到.遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没 有,如果我们一味的去看代码找太疼苦了,因为我们都相信自

Net Core在Linux环境

Net Core在Linux环境 基础环境和相关软件准备 1.CentOS7.1 64位系统(或者其他CentOS版本的64位系统) 2.WinSCP软件(主要是方便管理和编辑Linux系统的文件) 3.XShell软件(Windows环境下的Linux终端) 4..NetCore安装参考网址,https://www.microsoft.com/net/core#centos 5..NetCore下载地址,https://www.microsoft.com/net/download#core 6

ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署

原文:ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署 背景: 这周,心情来潮,想把 Aries 开发框架 和 Taurus 开发框架 给部署到Linux上,于是开始折腾了. 经过重重非人的坑,终于完成了任务: Aries on CentOS7:mvc.aries.cyqdata.com Taurus on CentOS7:mvc.taurus.cyqdata.com 不过在发布的过程中,发现有大堆共同的dll(100多个,20多M): 看见一大堆这些dll,

.Net Core部署Linux系统(CentOS7.6)

原文:.Net Core部署Linux系统(CentOS7.6) .net core版本:2.2 Linux:CentOS 7.6 所需工具: Xshell 6 + Xftp 6 第一步:在Startup类中加入这两行代码 然后本地发布项目: 第二步,安装.Net Core运行时, 首先在CentOS系统中执行命令,注册Microsoft密钥,安装.NET之前,需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项.这只需要每台机器完成一次: sudo rpm -Uvh https:/

体验.net core跨平台 之 系统环境:安装Windows10内置Linux子系统

感觉是时候学习下.net core了,虽然其根据.net4.x的重写工作还有很大一截没有完成.为了让.net跨平台ms这次也是拼了(早干嘛去了?):所谓的跨平台,听起来很6b,主要也就两个平台,Windows是.net诞生的老家,Linux是其接下来要适应的新环境. 之前尝试使用hyper-v安装的ubuntu,比较卡(笔记本AUSU i7-4710HQ 12GB RAM,分配4Processors 4GB RAM),窗口分辨率不能调,高DPI缩放下非常别扭--估计ms也没打算优化hyper-v

实践.Net Core在Linux环境下的第一个Hello World

基础环境和相关软件准备 1.CentOS7.1 64位系统(或者其他CentOS版本的64位系统) 2.WinSCP软件(主要是方便管理和编辑Linux系统的文件) 3.XShell软件(Windows环境下的Linux终端) 4..NetCore安装参考网址,https://www.microsoft.com/net/core#centos 5..NetCore下载地址,https://www.microsoft.com/net/download#core 6.快速入门实例,https://d

dotnet core on Linux 环境搭建及入门demo

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545; min-height: 14.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px;