(此文章同时发表在本人微信公众号“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的更多相关文章

  1. ASP.NET 5探险(3):使用UMEditor并实现图片上传

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:今天将继续上一篇来讲解百度富文本Web编辑器UEditor或UMEditor的使用. ...

  2. ASP.NET 5探险(6):升级ASP.NET 5到beta6

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软根据ASP.NET 5的路线图如期发布了beta6,现在我们就来说说beta5升级 ...

  3. ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS)

    前言 性能是我们日常生活中经常接触到的一个词语,更好的性能意味着能给我们带来更好的用户体检.比如我们在购买手机.显卡.CPU等的时候,可能会更加的关注于这样指标,所以本篇就来做一个性能评测. 性能也一 ...

  4. ASP.NET 5运行时升级到Beta5

    在Visual Studio 2015 RTM和Windows 10正式发布之前,微软把开源.NET升级到了beta5,带来了一些增强和改变.和Visual Studio 2015 RC一起安装的AS ...

  5. asp.net应用程序生命周期和asp.net网页的生命周期

    一.asp.net应用程序生命周期 asp.net应用程序生命周期以浏览器向web服务器(比如IIS服务器)发送请求为起点,先后经历web服务器下的ISAPI(Internet Server Appl ...

  6. 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是一个电子商务的实例, ...

  7. 【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入门 ...

  8. ASP.NET MVC5(一):ASP.NET MVC概览

    ASP.NET MVC概览 ASP.NET MVC是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架. 1.ASP.NET MV ...

  9. 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. ...

随机推荐

  1. DevStack安装时报“download of get-pip.py failed”

    ref from : http://www.voidcn.com/blog/ldli8979/article/p-5005958.html 这个可能会有多种原因造成.网上搜了一下,有人说需要手动下载, ...

  2. linux上进程状态查询

    linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有 ...

  3. Java Dao设计模式

    一.信息系统的开发架构   客户层-------显示层-------业务层---------数据层---------数据库 1.客户层:客户层就是客户端,简单的来说就是浏览器. 2.显示层:JSP/S ...

  4. MyBatis <if>标签的一些问题

    1.常见错误: There is no getter for property named 'parentId' in 'class java.lang.Long'(或者String) org.myb ...

  5. mysql-5.6.23-winx64.zip版本安装记录

    *操作系统:Win7 64位旗舰版 一.解压至任意目录,此处以“E:\mysql-5.6.23-winx64”为例: 二.设置环境变量:新建变量名 MYSQL_HOME,值为解压的路径 E:\mysq ...

  6. WCF服务跟踪

    如果在开发过程中,WCF服务出现问题,我们可以通过服务引用,然后直接断点调试进去.然而,对于已经发布的服务,出现错误时,寻找错误信息会变得麻烦. 幸好,微软提供了服务跟踪查看器工具 (SvcTrace ...

  7. 【编程题目】题目:定义 Fibonacci 数列 输入 n,用最快的方法求该数列的第 n 项。

    第 19 题(数组.递归):题目:定义 Fibonacci 数列如下:/ 0 n=0f(n)= 1 n=1/ f(n-1)+f(n-2) n=2输入 n,用最快的方法求该数列的第 n 项. 思路:递归 ...

  8. 【XLL API 函数】xlSheetId

    查找命名的工作表ID,用于外部引用. 原型 Excel12(xlSheetId, LPXLOPER12 pxRes, 1, LPXLOPER12 pxSheetName); 参数 pxSheetNam ...

  9. python安装paramiko模块

    一.简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...

  10. 配置TFS2010的用户截图

    先要添加一个管理用户