在 mono 下尝试 ASP.NET vNext
在 mono 下尝试 ASP.NET vNext
从源代码编译最新版本的 mono
网上已经有很多从源代码安装 mono 的资料了, 所以就不再啰嗦了, 没有做过的可以参考这两篇文章:
推荐用 git 从源代码获取 mono 源代码的方式来编译安装, 以后更新也很方便。 我获取 mono 最新版 源代码编译安装之后, 版本信息如下图所示:
对于某些 linux 发行版, 可能还没有下列网站的 https 证书, 因此需要导入并同步一下几个网站的 https 证书, 否则无法继续后面的 asp.net vNext 的安装 (参考自 ASP.NET vNext on OSX and Linux)。
sudo certmgr -ssl -m https://go.microsoft.com
sudo certmgr -ssl -m https://nugetgallery.blob.core.windows.net
sudo certmgr -ssl -m https://nuget.org
sudo certmgr -ssl -m https://www.myget.org
mozroots --import --sync
安装 KVM 和 K 运行时环境
通过下面的命令来安装 KVM 和 K 运行时:
# 克隆 aspnet_home
git clone https://github.com/aspnet/Home.git aspnet_home
# 切换到下载目录, 并执行 kvmsetup.sh
cd aspnet_home
./kvmsetup.sh
# 将 ~/.kre/kvm/kvm.sh 添加到 $PATH 环境变量
source ~/.kre/kvm/kvm.sh
# 更新 kvm
kvm upgrade
运行示例程序
微软在 https://github.com/aspnet/Home 提供了三个示例程序, 分别是 samples
目录下的 ConsoleApp
、 HelloWeb
和 HelloMVC
, 接下来分别运行这三个程序。
运行命令行程序 ConsoleApp
按照 ReadMe.md 中的提示, 依次输入下面的命令, 运行 ConsoleApp :
cd aspnet_home/samples/ConsoleApp
kpm restore
k run
没有错误的话, 能看到下面的 Hello World
输出。
再输入 export KRE_TRACE=1
, 再次运行 k run
, 则可以看到详细的诊断信息, 如下图所示:
到现在一直都是按照 ReadMe.md 中的说明进行的, 是不是有点儿小兴奋呢? 别急, 继续运行剩下的两个 示例程序。
运行 web 应用程序 HelloWeb 和 HelloMvc
微软并没有在 ReadMe.md 这两个例子中给出在 mono 环境下运行的方法, 按照上面的方法, 切换到例子 所在的目录, 并执行 kpm restore
和 k web
, 果然提示出错, 无法运行:
在 mono 上运行 asp.net vNext 只能到此为止了, 目前这个错误无解, 或者我还没找到 。。。
- 堆和栈的区别
- 深入理解和应用display属性(二)
- Philip S.Yu 讲的广度学习到底是什么?
- Kubernetes服务网格(第10部分):服务网格API
- 刚刚,同程与艺龙宣布合并!去你的大数据!
- 从蓝光到4K,腾讯视频高码率下载背后的技术
- 从开发者的角度比较IAAS与PAAS
- 图灵机器人郭家:以语义技术为核心驱动力,让机器更好地理解世界
- 静态条码设支付上限,500元封顶,海外支付尚未通知
- 如何自动地将代码从Git平台部署至组件容器
- 聂卫平说过人工智能不会取代人类 只会让我们生活的更加美好
- 万达裁员遭人大教授怒怼:员工如告了 王健林赔不少
- 习题3.13
- 谷歌数据显示比特币年度搜索量排名位居前列
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python爬虫之scrapy构造并发送请求
- Python爬虫之scrapy模拟登陆
- Python爬虫之scrapy中间件的使用
- Python爬虫之scrapy_redis原理分析并实现断点续爬以及分布式爬虫
- Python爬虫之scrapy_splash组件的使用
- Python爬虫之scrapy的日志信息与配置
- Python爬虫之scrapyd部署scrapy项目
- 最近发现一个很有趣的随机小姐姐视频源码 分享给大家
- Codeforces Round #633 (Div. 2)C Powered Addition (贪心,二进制)
- Spring 整合 JUnit
- Java Stax解析XML示例
- Codeforces Round #633 (Div. 2) B Sorted Adjacent Differences(直观感知+排序插放)
- Spring 声明式事务
- Leetcode 1320 二指输入的的最小距离(多情况讨论,DP)
- Spring 基本注解