ASP.NET 5探险(4):如何把ASP.NET 5从beta4升级到beta5
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)
题记:上一篇文章讲述了ASP.NET 5 Beta带来的一些变化,虽然原文最后给出了从beta4升级到beta5的介绍,但是讲的过于简要和模糊。今天就给大家分享下我的经验。
我把我的ASP.NET 5的项目代码从beta 4升级到beta5还是遵从了上篇文章原文中提到的基本步骤。
1,安装或升级DNVM。
如果没有.NET Version Manager (DNVM),需要通过如下代码来安装(如果已经有了执行如下代码也会升级到最新版本):
1: @powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{$Branch='dev';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}"
理论上,执行以上代码就可以把dnvm安装(或升级)到“beta6-10395”,明显的不同是多了一个“update-self”的命令。
如果在已经有beta4的dnvm,那么执行上述命令后,需要重启命令行窗口才能看到最新的dnvm版本;当然我也遇到一个奇怪的问题,就是执行上述代码后死活不能升级,最后无奈,只好先执行第二步(见:升级DNX运行时)的特殊步骤,然后就会看到dnvm也自动升级为最新版本了。
2,升级DNX运行时。
如果正常升级了DNVM,那么无需去设置“DNX_FEED”环境变量,因为最新版的DNVM的默认地址已经是“https://www.nuget.org/api/v2”。现在只需要执行“dnvm upgrade”就可以下载并安装ASP.NET 5的Beta5运行时了(默认是clr x86),也会自动把这个运行时设置激活状态和default别名。
当然如果没有升级DNVM,那么可以设置“DNX_FEED”,然后再升级DNX运行时。
也可以不设置“DNX_FEED”,直接执行”dnvm upgrade“,来先升级到beta5的预发布版本(beta5-12103)。升级到beta5的预发布版本会同时升级dnvm,然后再次执行“dnvm upgrade”,升级到beta5正式发布版本。(这里说的就是上面提到的特殊步骤)。
3,修改project.json中的包引用。
打开解决方案中所有项目的project.json文件的,把其中所有后缀“beta4”的包修改为“beta5”,保存project.json文件后,VS会自动更新到最新的beta5的包。
需要注意的是,xunit的相关包要改为引用beta5的编译版本,即"xunit": "2.1.0-beta3-build3029","xunit.runner.dnx": "2.1.0-beta3-build99"。
和Configuration相关的包,从“Microsoft.Framework.ConfigurationModel”修改为“Microsoft.Framework.Configuration”。
把“Interfaces”后缀的包修改为“Abstractions”。
4,解决代码变更。根据上篇文章提到的更新尤其破坏变更列表(https://github.com/aspnet/announcements/issues?q=milestone%3A1.0.0-beta5),来修改编译有问题的代码。主要的修改有:
- EF7的迁移修改了代码接口(从属性改为方法),为了避免大量修改代码我是自己重建Migration。如果需要修改,见:https://github.com/aspnet/Announcements/issues/35
- 把命名空间“Microsoft.Framework.ConfigurationModel”修改为“Microsoft.Framework.Configuration”。
- IConfiguration.GetSubKey修改为IConfiguration.GetConfigurationSection
- _GlobalImport.cshtml重命名为_ViewImports.cshtml,修改后VS2015可能会报类型没有引用,不必理会(等着VSWebTools更新)
- 我之前讲解EF数据迁移的文章提到的代码“db.Database as SqlServerDatabase”要改为“db.Database as RelationalDatabase”
- 单元测试中,必须显式执行services.AddLogging()
以上就是我升级到beta5的一些经验。有不解的朋友可以在微信上和我交流讨论。
ASP.NET 5探险(4):如何把ASP.NET 5从beta4升级到beta5的更多相关文章
- ASP.NET 5探险(3):使用UMEditor并实现图片上传
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:今天将继续上一篇来讲解百度富文本Web编辑器UEditor或UMEditor的使用. ...
- ASP.NET 5探险(6):升级ASP.NET 5到beta6
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软根据ASP.NET 5的路线图如期发布了beta6,现在我们就来说说beta5升级 ...
- ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS)
前言 性能是我们日常生活中经常接触到的一个词语,更好的性能意味着能给我们带来更好的用户体检.比如我们在购买手机.显卡.CPU等的时候,可能会更加的关注于这样指标,所以本篇就来做一个性能评测. 性能也一 ...
- ASP.NET 5运行时升级到Beta5
在Visual Studio 2015 RTM和Windows 10正式发布之前,微软把开源.NET升级到了beta5,带来了一些增强和改变.和Visual Studio 2015 RC一起安装的AS ...
- asp.net应用程序生命周期和asp.net网页的生命周期
一.asp.net应用程序生命周期 asp.net应用程序生命周期以浏览器向web服务器(比如IIS服务器)发送请求为起点,先后经历web服务器下的ISAPI(Internet Server Appl ...
- asp.net的3个经典范例(ASP.NET Starter Kit ,Duwamish,NET Pet Shop)学习资料
asp.net的3个经典范例(ASP.NET Starter Kit ,Duwamish,NET Pet Shop)学习资料 NET Pet Shop .NET Pet Shop是一个电子商务的实例, ...
- 【ASP.NET Web API教程】1 ASP.NET Web API入门
原文 [ASP.NET Web API教程]1 ASP.NET Web API入门 Getting Started with ASP.NET Web API第1章 ASP.NET Web API入门 ...
- ASP.NET MVC5(一):ASP.NET MVC概览
ASP.NET MVC概览 ASP.NET MVC是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架. 1.ASP.NET MV ...
- 008.Adding a model to an ASP.NET Core MVC app --【在 asp.net core mvc 中添加一个model (模型)】
Adding a model to an ASP.NET Core MVC app在 asp.net core mvc 中添加一个model (模型)2017-3-30 8 分钟阅读时长 本文内容1. ...
随机推荐
- 一步步教你Hadoop多节点集群安装配置
1.集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hadoop Distributed Filesys ...
- 【leetcode】Fraction to Recurring Decimal
Fraction to Recurring Decimal Given two integers representing the numerator and denominator of a fra ...
- 关于Intent ,Task, Activity的理解
看到一篇好文章,待加工 http://hi.baidu.com/jieme1989/item/6e5f41d3f65be848ddf9beb9 第三篇 http://blog.csdn.net/luo ...
- 欧洲杯 2016 高清直播 - 观看工具 UEFA-EURO-2016-Play.7z
OnlineTV-MPlayer-nocache.exe 占 CPU 内存 较少 OnlineTV-FFPlay.exe 可截取图像 UEFA-EURO-2016-Play-v5.7z UEFA-EU ...
- [第三方]SCNetworkReachability 获取网络状态控件使用方法
用Cocoa Pods导入控件以后 直接导头文件 复制以下代码 [SCNetworkReachability host:@"github.com" reachabilityStat ...
- Match:Cyclic Nacklace(KMP的next数组的高级应用)(HDU 3746)
串珠子 题目大意:给定一个字串,要你找到如果要使之成为循环串,在末尾需要的最小的字数(只能添加字符,不能删减字符) 首先联动一下之前做过的动态规划问题POJ 3280,当然了3280这一题是用的LD, ...
- 用css解决iframe的自适应问题(跨域下同样有用)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(五) 之 加好友,加群流程,消息管理和即时消息提示的实现
前言 前前一篇留了个小问题,在上一篇中忘了写了,就是关于LayIM已经封装好的上传文件或者图片的问题.对接好接口之后,如果上传速度慢,界面就会出现假死情况,虽然文件正在上传.于是我就简单做了个图标替代 ...
- Swift - LineChart绘制折线图
LineChart,就使用Core Graphics和QuartzCore框架中的CAShapeLayer绘制.这样执行效率明显比堆砌UIView的方法效率高--占用资源少,执行快. 看看CALaye ...
- postgresql导入及导出
导入命令 psql -d GAME -U postgres -f /root/plubic.sql 出现如下错误: psql: FATAL: Peer authentication failed f ...