在更新到beta5时,我遵循了本指南,并且更新过程似乎已经奏效。

http://blogs.msdn.com/b/webdev/archive/2015/06/30/asp-net-5-beta5-now-available.aspx



但是,我收到生成错误消息,提示我缺少程序集。它提示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.jsonpackage.json文件之后,在Visual Studio中关闭并重新打开该解决方案可以解决还原/生成问题。

另请参阅:ASP.NET 5 (vNext) web project: library conflict upgrading from beta4 to beta6

10-05 19:24