更新到 ASP NET 5 beta5 会破坏一切
本文关键字:beta5 ASP NET 更新 | 更新日期: 2023-09-27 18:00:58
我在更新到 beta5 时遵循了本指南,更新过程似乎已经奏效。
http://blogs.msdn.com/b/webdev/archive/2015/06/30/asp-net-5-beta5-now-available.aspx
但是,我要更新到 ASP.NET 5 Beta5,请使用以下步骤:
- 如果您还没有.NET Version Manager(DNVM(,请安装它(它预装在Visual Studio 2015 RC中,或者你可以 获取最新版本(
- 在命令提示符下,将DNX_FEED环境变量设置为 https://www.nuget.org/api/v2
- 在应用中运行"dnvm 升级",更新 global.json 以指向 .NET 执行环境 (DNX( 的 beta5 版本
- 还有你的项目.json指向beta5包版本
- 运行"dnu 恢复" 运行"dnu build"并将您的代码迁移到所需的 beta5 s
收到生成错误,说我缺少程序集。它抱怨System.Void,这样就不见了。它也找不到来自Microsoft.AspNet.MVC的控制器:/
如果我恢复到 beta4,那么它会再次工作。
我错过了哪一步?
DNVM 列表(此列表恢复为 beta4(
Active Version Runtime Architecture Location Ali
as
------ ------- ------- ------------ -------- ---
1.0.0-beta4 clr x64 C:'Users'MySelf'.dnx'runtimes
* 1.0.0-beta4 clr x86 C:'Users'MySelf'.dnx'runtimes
1.0.0-beta4 coreclr x64 C:'Users'MySelf'.dnx'runtimes
1.0.0-beta4 coreclr x86 C:'Users'MySelf'.dnx'runtimes
1.0.0-beta5 clr x86 C:'Users'Myself'.dnx'runtimes def
1.0.0-beta5-12103 clr x86 C:'Users'MySelf'.dnx'runtimes
我刚刚升级了Visual Studio 2015 ASP。MVC Web 应用程序从 beta4 到 beta5,现在可以运行它了。以下是您遵循的说明的一些补充。
运行"dnvm 升级">
完成此操作后,这就是dnvm list
将输出的内容。
Active Version Runtime Architecture Location Alias
------ ------- ------- ------------ -------- -----
1.0.0-beta4 clr x64 C:'Users'BigFont'.dnx'runtimes
1.0.0-beta4 clr x86 C:'Users'BigFont'.dnx'runtimes
1.0.0-beta4 coreclr x64 C:'Users'BigFont'.dnx'runtimes
1.0.0-beta4 coreclr x86 C:'Users'BigFont'.dnx'runtimes
* 1.0.0-beta5 clr x86 C:'Users'BigFont'.dnx'runtimes default
1.0.0-beta5-12087 clr x86 C:'Users'BigFont'.dnx'runtimes
在您的应用中更新您的 global.json 以指向 beta5
global.json
指向beta5的特定版本:
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-beta5"
}
}
还有你的项目.json指向beta5包版本
在project.json
参考beta5
.这将使 dnu 恢复最新的构建(嗯,有点 - David Fowl 在这里描述了"浮动版本"的细微差别。
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta5"
},
。根据需要将代码迁移到 beta5
停止接收有关缺少基本对象(如 System.Void
(的错误后,您可能会收到有关中断性更改的错误。这可能需要一些研究才能解决,具体取决于您的代码库使用的内容。例如,如果您使用的是 ASP.NET 身份,则需要更改以下内容:
SignInManager.PasswordSignInAsync(
model.Email, model.Password, model.RememberMe, shouldLockout: false);
对此:
SignInManager.PasswordSignInAsync(
model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
最后说明:Visual Studio
在 Visual Studio 中关闭并重新打开解决方案可以解决更新global.json
和package.json
文件后的还原/生成问题。
另请参阅:ASP.NET 5 (vNext( Web 项目:库冲突从 beta4 升级到 beta6
@Shaun Luttin 已经涵盖了它,但我会提到两件事:
- 浏览器链接实际上在 Beta 5 中不起作用。它会导致一个非常奇怪的错误。您需要注释掉
app.UseBrowserlink()
才能使事情正常工作。更高版本已修复此问题。 - 我还发现名称中带有"ConfigurationModel"的包被重命名为"配置"。