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

(此文章同时发表在本人微信公众号“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的一些心得。

posted @   朱永光  阅读(954)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
点击右上角即可分享
微信分享提示