如何将ASP.NET 5(vnext)从Beta5升级到Beta6?

4

从ASP.NET v5 Beta4升级到Beta5有点困难,那么升级到Beta6有多难呢?

beta4-beta5的答案那样的备忘单将会非常实用...


我刚从beta4升级到beta6。我的大部分问题都与beta5的更改有关。AnnouncementsRelease Notes可以帮助你解决这些问题。 - jltrem
好问题,但更有意义的做法是将其制作成官方ASP.NET git存储库https://github.com/aspnet/home上的维基页面。 - Victor Hurdugaci
公平的观点。目前似乎没有自然的归宿。路径建议\Beta\Upgrades\Beta5-Beta6,也许?哪里是最好的讨论地方。先提出问题,然后PR一个维基页面? - fiat
2个回答

7

升级成功。以下是操作步骤

前提条件

  • 升级到beta6:dnvm upgrade
  • 如需安装x64:dnvm install 1.0.0-beta6 -arch x64 -r clr
  • 更新别名:dnvm alias default 1.0.0-beta6 x64
  • 将其设置为永久默认值:dnvm use default -p
  • 从Beta 5开始。如有必要,请从Beta 4升级到Beta 5

Beta 6更改

(不是所有更改都适用于您的项目)

  • global.jsonbeta5 更新到 beta6
  • 在项目中搜索 beta5" 并替换为 beta6"
  • 添加对 Microsoft.AspNet.Mvc.Core 的引用
  • app.UseErrorPage(ErrorPageOptions.ShowAll); 改为 app.UseErrorPage();
  • Context.Authentication.SignIn(...) 改为 SignInAsync(...)
  • app.UseSession(c=> c.IdleTimeOut = 30) 改为 app.UseSession()
  • 将 Autofac 依赖项从 "Autofac.Framework.DependencyInjection": "4.0.0-beta5-90" 升级到 "Autofac.Framework.DependencyInjection": "4.0.0-beta6-150"

部署

完成

其他修复可能在ASP.NET announcements repo中找到


仅仅想说一下,在 Visual Studio 2015 中,将 global.json 更改为另一个版本(在这种情况下是 beta6),会提示下载新的 dnx 版本,如果它尚未安装。它通过 nuget 进行下载。 - dmcquiggin
2
我还需要添加对“Microsoft.AspNet.Mvc.Core”的引用,并将“app.UseSession(c => c.IdleTimeOut = 30);”更改为“app.UseSession();”,并将“Context.Authentication.SignIn(...);”更改为“SignInAsync(...)”。 - Tom
另外:Microsoft.Framework.ConfigurationModel已更名为Microsoft.Framework.Configuration,因此必须将new Configuration(..)替换为ConfigurationBuilder。 - hoetz
已经加入@tom的笔记。随意直接编辑答案以保持更新。hoetz-我认为这是beta4-beta5的问题? - fiat
@jimutt 我没有使用EF,但是当你解决它时,请随意编辑答案并添加你自己的注释。 - fiat
显示剩余4条评论

0

更新上面的答案

您正在使用EF并遇到以下错误,

命名空间中不存在类型或命名空间名称“Migrations”,其中包括“Microsoft.Data.Entity.Relational”

然后请删除以下命名空间

using Microsoft.Data.Entity.Relational.Migrations.Infrastructure

并添加以下命名空间

using Microsoft.Data.Entity.Migrations.Infrastructure

此外,您需要重写一些属性,例如从以下属性中删除.GenerateValueOnAdd()函数。
某些属性具有.StoreGeneratedPattern(StoreGeneratedPattern.Identity)函数,请替换为.UseSqlServerIdentityColumn()函数。

    b.Property<string>("Id")
        .GenerateValueOnAdd()
        .Annotation("OriginalValueIndex", 0);

你需要在几个文件中完成以上任务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接