最新的ASP.NET vNext完全开源且可以跨多个平台运行,在Windows环境下我尝试了下,几乎没花什么工夫就跑起了Sample,而在Linux环境下则要多花了不少时间,所以特别记录下整个过程,希望对其他想要尝鲜的人有所帮助。

运行环境

Ubuntu Server 14.04

VirtualBox

Mono >= 3.4.1

*由于Ubuntu库中的Mono版本比较陈旧,满足不了最低要求,所以第一步要做的就是安装最新版本的Mono。

安装Mono

1. 首先从GitHub上取得mono代码:git clone git://github.com/mono/mono.git

*未安装过git程序的话,你首先需要在Ubuntu中执行sudo apt-get install git命令。

2. 这一步有点奇怪,编译新版本的mono需要旧版本的支持,如果未安装过mono的话,请先在Ubuntu执行sudo apt-get install mono-complete命令。

3. 进入mono目录,编译程序:

cd mono
./autogen.sh --prefix=/usr/local
make

*这里可能需要预先安装其它的程序,比如autoconf,libtool,g++,make等等。

4. 安装:make install

5. 执行mozroots --import --sync命令以避免认证问题。

6. 通过mono –version命令确认所安装的mono是最新的版本。

安装KRE

只需要简单的一句命令:

curl https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.sh | sh && source ~/.kre/kvm/kvm.sh && kvm upgrade

kvm upgrade命令会自动下载最新的KRE包, 将其解压到.kre/packages目录下并添加bin文件夹路径至你的环境变量PATH中。

*因为涉及解压的操作,所以unzip程序必须预先安装:sudo apt-get install unzip

安装完成后可以通过kpm –version命令检查是否安装正确。

Hello World

完成所有准备工作之后,即可以尝试运行第一个程序了。按照传统,第一个程序应该是“Hello World!”

1. 首先建立HelloWorld文件夹:mkdir HelloWorld

2. 进入文件夹后:cd HelloWorld,再建立两个文件Program.cs和project.json。

3. 编辑这两个文件(推荐使用vim),在Program.cs加入以下代码:

using System;public class Program
{public static void Main(){Console.WriteLine("Hello World!");}
}

而在project.json文件中加入下列配置:

{"dependencies": {"System.Console": "4.0.0.0"},"configurations": {"net45": {},"k10": {}}
}

4. 执行kpm restore -s https://www.myget.org/F/aspnetvnext/命令。

*该命令会根据配置文件中的描述,从指定nuget仓库中取得必要的依赖项。

5. 运行程序:k run

以上步骤都正确的话,应该就能在shell中看到“Hello World!”的显示。

简单的MVC

接着试一个较复杂的程序,代码可以直接从GitHub中取得。

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

取得HelloMvc代码并不能直接使用,因为其指定的Web服务器在Linux中并不存在,我们还需要添加一个工程用于生成Web服务器。

从https://github.com/Alxandr/Nowin.vNext/tree/master/src中取得Nowin.vNext文件夹,将其置于与HelloMvc同级的目录下。

然后修改HelloMvc的project.json文件:

{"version": "0.1-alpha-*","dependencies": {"Microsoft.AspNet.Mvc": "0.1-alpha-*","Nowin.vNext": ""},"commands": {"web": "Microsoft.AspNet.Hosting --server Nowin.vNext"},"configurations": {"net45": {"dependencies": {"System.Runtime": "","System.ComponentModel.DataAnnotations": ""}},"k10": {}}
}

这样运行kpm restore命令下载依赖项后,执行k web命令,就可以在浏览器中查看网页了。

*其实以上执行时还是会有错误,需要把Startup.cs文件中的app.UseErrorPage();app.UseWelcomePage();语句注释掉才行。猜测是Nowin.vNext服务器中未实现所产生的问题。

客户端访问

因为在这个试验中所用的Ubuntu Server未安装桌面环境,所以也就不能在虚拟机中查看以上的结果。不过既然虚拟机已然成了服务端,不妨就把宿主机当成客户端吧。

在VirtualBox的网络设置中将连接方式改成桥接网卡,这样宿主机就可以通过IP地址访问虚拟机。

上一例子的Web服务器端口号为8080,所以在宿主机的浏览器上输入“虚拟机ip地址:8080”并轻击回车后也就能看到最终的成果了。

转载于:https://www.cnblogs.com/sjyforg/p/3807038.html

在Linux上运行ASP.NET vNext相关推荐

  1. sql server能在linux上运行,在 Ubuntu 上可以安装 SQL Server 了~

    原标题:在 Ubuntu 上可以安装 SQL Server 了~ 导读 SQL Server现在可以在Linux上运行了!正如微软CEO Satya Nadella说的,"Microsoft ...

  2. linux上运行项目,发布项目到 Linux 上运行 Core 项目

    目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下,我们windows上的项目如何发布项目到Linux上运行 ...

  3. 中国菜刀能在linux上运行吗,【Web Shell】- 技术剖析中国菜刀

    在第一部分,简单描述了中国菜刀的基本功能.本文我将剖析中国菜刀的平台多功能性.传输机制.交互模式和检测.我希望通过我的讲解,您能够根据您的环境检测出并清除它. 平台 那么中国菜刀可以在哪些平台上运行? ...

  4. 推荐两款支持在linux下运行ASP.NET网站的国产免费WEB服务器软件

    推荐两款支持在linux下运行ASP.NET网站的国产免费WEB服务器软件 1.kangle kangle web server是一款跨平台(windows/linux/bsd).功能强大.安全稳定. ...

  5. Centos7笔记之Docker-ce上运行ASP.NET CORE程序

    一.目标 centos7.6下Docker-ce上运行ASP.NET CORE程序 二.平台 [root@hiibm ~]# uname -r 3.10.0-957.el7.x86_64 [root@ ...

  6. c#如何在linux上运行程序,在Linux上运行C#

    众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x.ME.NT.2000.XP和Win CE之类的操作系统.但是,现在却有了一个叫做Mono的项目,它的目 ...

  7. linux里运行windows,在Linux上运行Windows应用程序

    当前位置:我的异常网» Linux/Unix » 在Linux上运行Windows应用程序 在Linux上运行Windows应用程序 www.myexceptions.net  网友分享于:2015- ...

  8. linux下运行python unitest_Python unittest打印日志可以在Linux上运行,但在Windows上不行...

    我正在尝试编写一个unittest,它将stdout和stderr重定向到一个写在Windows网络驱动器上的文件.出于某些原因,相同的脚本(只有diff.是目录路径)可以在Linux上工作,但在Wi ...

  9. python php linux-怎么在linux上运行python

    Linux默认是已经安装好了Python程序 目前来说,大多数的Linux发行版是安装了两个版本的Python程序 一个是Python 2.x 一个是Python 3.x 一些系统自带的程序文件需要P ...

  10. Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台

    Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 原文:Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 转发请注明此文 ...

最新文章

  1. CTO 基本功大盘点 —— 没有这些技能,谈何远大前程?
  2. 【Flutter】Flutter 布局组件 ( 布局组件简介 | Row 组件 | Column 组件 | SizedBox 组件 | ClipOval 组件 )
  3. MySQL免安装版配置教程
  4. 华北理工大学815c语言程序设计,2017年华北理工大学信息工程学院815C程序设计考研冲刺密押题...
  5. oracle 函数索引
  6. cocos2d-x游戏实例(19)-纵版射击游戏(6)
  7. 安装 Ffmpeg 步骤
  8. Spring Boot 与 Java 对应版本,以下表格由官方网站总结。
  9. c语言中把各位上为奇数的数取出,下列给定程序中函数fun()的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在冲。 - 赏学吧...
  10. springMVC:前端请求后台并传值
  11. QTP不识别树结构中的点击事件
  12. k3cloud新建简单帐表教程
  13. 【万物互联支持一碰传、多屏协同】第三方非华为电脑安装华为电脑管家
  14. 一个工业相机通用类解决大部分业内流行相机的访问(基于大华相机的动态链接库开发的通用相机类)C#版
  15. C++华氏温度和摄氏温度的转换
  16. pdf关键字高亮 java_Java查找并高亮PDF文本过程解析
  17. 电脑 蓝屏 问题签名: 问题事件名称: BlueScreen OS 版本: 6.1.7600.2.0.0.256.1 区域设置 ID: 2052...
  18. 百度地图调用手机陀螺仪完成指向功能
  19. Flyback的Cross Regulation
  20. 台式计算机键盘进水了还能用,电脑键盘进水了怎么办?正确的处理方法才能让它恢复如初...

热门文章

  1. visual studio 2019配置dlib读取jpeg图片
  2. qpython3 获取手机gps接口
  3. 【论文笔记】Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
  4. Git的使用--如何将本地项目上传到Github(两种简单、方便的方法)
  5. 记一次Win10环境python3.7安装dlib模块趟过的坑
  6. 汇编语言和C语言的比较
  7. 2021-08-02 表的增删改查
  8. 论坛apache伪静态_修正PostViews插件加入CDN静态缓存后计数不正常问题
  9. FISCO BCOS Transaction execution error合约执行失败原因
  10. IDEA java 显示build目录