我在更新到 beta5 时遵循了本指南,更新过程似乎很有效。
http://blogs.msdn.com/b/webdev/archive/2015/06/30/asp-net-5-beta5-now-available.aspx
To update to ASP.NET 5 Beta5 use the following steps:
- Install the .NET Version Manager (DNVM) if you don’t already have it (it comes preinstalled with Visual Studio 2015 RC, or you can get the latest version)
- From a command prompt set the DNX_FEED environment variable to https://www.nuget.org/api/v2
- Run “dnvm upgrade” In your app update your global.json to point to beta5 version of the .NET Execution Environment (DNX)
- Also your project.json to point to the beta5 package versions
- Run “dnu restore” Run “dnu build” and migrate your code to beta5 s needed
但是,我收到构建错误,提示我缺少程序集。它提示 System.Void 等缺失。它也无法从 Microsoft.AspNet.MVC 中找到 Controller :/
如果我恢复到 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"
}
}
还有你的 project.json 指向 beta5 包版本
在project.json
引用 beta5
。这将使 dnu 恢复最新的构建 ( well, kinda - David Fowl describes the nuances of the "floating version" here. )
"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 Identity,则需要更改此设置:
SignInManager.PasswordSignInAsync(
model.Email, model.Password, model.RememberMe, shouldLockout: false);
为此:
SignInManager.PasswordSignInAsync(
model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
关于 Visual Studio 的最后说明
在更新 global.json
和 package.json
文件后,在 Visual Studio 中关闭并重新打开解决方案可以解决还原/构建问题。
另请参阅:ASP.NET 5 (vNext) web project: library conflict upgrading from beta4 to beta6
关于c# - 更新到 ASP NET 5 beta5 会破坏一切,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31202888/