(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)

题记:微软根据ASP.NET 5的路线图如期发布了beta6,现在我们就来说说beta5升级到beta6的一些问题。

之前微软公布了ASP.NET 5的路线图 (https://github.com/aspnet/home/wiki/roadmap)。根据这个路线图的说法,在7月27日发布ASP.NET 5 beta6。由于微软是7月20日发布Visual Studio 2015 RTM的(内置ASP.NET 5 beta5),所以beta6还是需要自己手动来安装。为了等着7月30日安装好Windows 10后再安装Visual Studio 2015 RTM,所以昨天才把项目代码升级到beta6。

把beta5升级beta6虽然也可以沿用之前的方法(微信公众号回复:20150707),不过鉴于VS2015已经RTM,所以微软给我们提供了用于升级的安装包,通过这里下载(http://go.microsoft.com/fwlink/?LinkID=619565)。安装包其中一个用于安装dnvm(分为x64和x86),一个用于安装运行时的(有不同语言版本)。

升级了dnvm和dnx运行时之后,要做的就是根据beta6的一些改变(https://github.com/aspnet/Announcements/issues?q=is%3Aopen+is%3Aissue+milestone%3A1.0.0-beta6)解决代码出现的编译和运行问题。下面就简述一下我项目代码遇到的一些问题:

  • Mvc的功能被分成了更加精细的包,方便更小化的添加和依赖。比如ViewContext,ViewContextAttribute和IHtmlHelper就被移动到了Microsoft.AspNet.Mvc.ViewFeatures中
  • project.lock.json文件的格式变化且最终固定,所以需要重新执行“dnu restore”
  • builder.ForSqlServer().UseIdentity(); 改用 builder.UseSqlServerIdentityColumns();
  • EntityOptionsBuilder 改用 DbContextOptionsBuilder
  • Microsoft.DataAnnotations被放弃(其实在beta4就放弃了,我之前还是引用了),现在不使用IndexAttribute,而是改用FluentAPI来定义索引,更多说明见(https://github.com/aspnet/EntityFramework/issues/1698)
  • Microsoft.Framework.CodeGenerators.Mvc没有beta6版本,不过不引用似乎暂时无碍
  • ISessionCollection 改用 ISession
  • SignIn 改用 SignInAsync,SignOut 改用 SignOutAsync
  • UseInMemorySession 改用 UseSession
  • ErrorPageOptions.ShowAll 废弃
  • 在Starup中调用数据库初始化的代码需要改变,见我在GitHub上的Issue报告(https://github.com/aspnet/Identity/issues/529)
  • 作为外键的属性,如果是字符串要明确定义字符串长度(之前可以根据指向主键来自动设置)
  • Beta6的脚手架(即默认项目代码结构)有所改变,主要涉及前端包引用bower部分

以上就是升级beta6的一些心得。

ASP.NET 5探险(6):升级ASP.NET 5到beta6的更多相关文章

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

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

  2. 将 ASP.NET Core 2.1 升级到最新的长期支持版本ASP.NET Core 3.1

    目录 前言 Microsoft.AspNetCore.Mvc.ViewFeatures.Internal 消失了 升级到 ASP.NET Core 3.1 项目文件(.csproj) Program. ...

  3. Asp.NetCore3.1开源项目升级为.Net6.0

    概述 自从.Net6.0出来后,一直想之前开发的项目升级.Net6.0,有时想想毕竟中间还跨了个5.0版本,升级起来不知道坑大不大,最近抽时间对升级的方案做了些研究,然后将代码升级为.Net6.0.本 ...

  4. List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac

    List多个字段标识过滤 class Program{  public static void Main(string[] args) { List<T> list = new List& ...

  5. CGI、ASP、PHP、JSP、 ASP.NET网站开发语言比较

    一.主流网站开发语言的简介及优缺点. 现在主流的网站开发语言主要包括cgi.asp.php.asp.net.jsp等. HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持. (一)  ...

  6. 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...

  7. ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇

    在之前的文章中,我为大家介绍了OWIN和Katana,有了对它们的基本了解后,才能更好的去学习ASP.NET Identity,因为它已经对OWIN 有了良好的集成. 在这篇文章中,我主要关注ASP. ...

  8. Mac OS 环境下 安装 Asp.Net及使用Yeoman 创建Asp.Net 项目

    本文是按照英文原文:Installing ASP.NET 5 On Mac OS安装时遇到的问题的总结Blog. 原文提示如下: Installing ASP.NET 5 On Mac OS XBy ...

  9. ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇(转)

    ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇   阅读目录 ASP.NET Identity 前世今生 建立 ASP.NET Identity 使用ASP.NET ...

  10. Custom ASP.NET Application into SharePoint --整合ASP.NET应用程序到SharePoint

    转:http://www.devexpertise.com/2009/02/18/integrating-a-custom-aspnet-application-into-sharepoint-par ...

随机推荐

  1. Python类的特点 (3) :静态方法与类方法

    Python中的方法有4种: 1)模块中的全局方法,不属于任何类,用"模块名.方法名"形式调用. 2)类中定义的实例方法,也被称为绑定方法(Bound method),这种方法的第 ...

  2. 【GoLang】类型和作用在它上面定义的方法必须在同一个包里定义

    cannot define new methods on non-local type int 参考资料: http://wiki.jikexueyuan.com/project/the-way-to ...

  3. 【leetcode】Text Justification

    Text Justification Given an array of words and a length L, format the text such that each line has e ...

  4. 【leetcode】Merge Intervals

    Merge Intervals Given a collection of intervals, merge all overlapping intervals. For example,Given  ...

  5. (转)高性能网站架构之缓存篇—Redis集群搭建

    看过 高性能网站架构之缓存篇--Redis安装配置和高性能网站架构之缓存篇--Redis使用配置端口转发 这两篇文章的,相信你已经对redis有一定的了解,并能够安装上,进行简单的使用了,但是在咱们的 ...

  6. dubbo main方法启动

    public static void main(String[] args) { com.alibaba.dubbo.container.Main.main(args); } 以上就可以简单本地启动了

  7. Appium 服务器参数

    # Appium 服务器参数 使用方法: `node . [标志]` ## 服务器标志所有的标志都是可选的,但是有一些标志需要组合在一起才能生效. <expand_table> |标志|默 ...

  8. Mathematics:Raising Modulo Numbers(POJ 1995)

    阶乘总和 题目大意:要你算一堆阶乘对m的模... 大水题,对指数二分就可以了... #include <iostream> #include <functional> #inc ...

  9. IP子网划分

    CIDR值: 1.掩码255.0.0.0:/8(A类地址默认掩码) 2.掩码255.128.0.0:/9 3.掩码255.192.0.0:/10 4.掩码255.224.0.0:/11 5.掩码255 ...

  10. PUTTY的使用教程

    Putty是一个优秀的,开源的SSH远程登录软件. 它不仅仅可以实现登录,还有很多高级功能. PuTTY is a free SSH, Telnet and Rlogin client for 32- ...