ASP.NET 5探险(6):升级ASP.NET 5到beta6
2024-08-28 06:44:27
(此文章同时发表在本人微信公众号“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的一些心得。
最新文章
- 微信小程序-上传下载
- java基本数据类型取值范围
- BNU 51275 道路修建 Large 并查集
- 【html】【20】高级篇--轮播图[聚焦]
- D3D游戏编程系列(三):自己动手编写即时战略游戏之寻路
- ViewHolder的作用和用法
- 循环-21. 求交错序列前N项和
- discuz_style_default.xml 修改
- redis做RDB时请求超时case
- ICE异步程序设计-----AMI/AMD
- [IOI2018]机械娃娃——线段树+构造
- Cmd2001的毒瘤水题题解
- SNMP学习笔记之SNMPv3报文认证和加密
- Java精选笔记_网络编程
- ES6的新特性(2)——let 与 const 增强变量声明
- 2017 计蒜之道 初赛 第五场 D. UCloud 的安全秘钥(困难)
- [转]安卓虚拟机启动后报错: 类似 SDK Manager] Error: Error parsing .devices.xml 解决方案
- iOS Sqlite加密(FMDB/SQLCipher)
- nyoj 37 回文字符串 【DP】
- STC12LE5620AD RAM问题