【问题标题】:MVC 6 upgrade in VS 2015RCVS 2015RC 中的 MVC 6 升级
【发布时间】:2015-07-24 04:06:23
【问题描述】:

我将 VS2015RC MVC 6 Web 项目 (DNVM) 从 beta5 升级到 beta6,并将所有依赖项升级到 beta5。我想,经过多次微小的调整,我只能解决一个问题。在跟踪启动中的配置更改后,我发现 Startup 方法的签名发生了变化,并且包含一个无法解析的接口。

错误 CS0433 类型“IApplicationEnvironment”存在于“Microsoft.Framework.Runtime.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”和“Microsoft.Framework.Runtime.Interfaces, Version=1.0”中。 0.0, Culture=neutral, PublicKeyToken=null' Web.DNX 4.5.1 D:\Repositories\Web\Startup.cs 35

我尝试使用 nuget 添加 beta4 抽象和接口,但都没有成功。

我错过了哪些程序集来升级或添加到项目中?

public Startup(IHostingEnvironment env, **IApplicationEnvironment** appEnv)
        {
            var configuration = new ConfigurationBuilder(appEnv.ApplicationBasePath)
               .AddJsonFile("config.json")
               .AddEnvironmentVariables();

谢谢!

【问题讨论】:

    标签: asp.net-mvc asp.net-core asp.net-core-mvc


    【解决方案1】:

    找到了。

    只需在 project.json 中使用 "Microsoft.Framework.Runtime.Abstractions": "1.0.0-beta5" 并删除接口依赖项(如果存在)。

    我的项目.json

    "dependencies": {
        "EntityFramework.Commands": "7.0.0-beta5",
        "EntityFramework.SqlServer": "7.0.0-beta5",
        "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta5",
        "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta5",
        "Microsoft.AspNet.Authentication.Google": "1.0.0-beta5",
        "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta5",
        "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta5",
        "Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
        "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta5",
        "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta5",
        "Microsoft.AspNet.Mvc": "6.0.0-beta5",
        "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta5",
        "Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
        "Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
        "Microsoft.AspNet.SignalR.Server": "3.0.0-beta5",
        "Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
        "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta5",
        "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta5",
        "Microsoft.Framework.CommandLineUtils": "1.0.0-beta4",
        "Microsoft.Framework.Configuration": "1.0.0-beta5",
        "Microsoft.Framework.Configuration.CommandLine": "1.0.0-beta5",
        "Microsoft.Framework.Configuration.EnvironmentVariables": "1.0.0-beta5",
        "Microsoft.Framework.Configuration.Ini": "1.0.0-beta5",
        "Microsoft.Framework.Configuration.Json": "1.0.0-beta5",
        "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta5",
        "Microsoft.Framework.DependencyInjection": "1.0.0-beta5",
        "Microsoft.Framework.Logging": "1.0.0-beta5",
        "Microsoft.Framework.Logging.Console": "1.0.0-beta5",
        "Microsoft.Framework.Runtime.Abstractions": "1.0.0-beta5",
    
      },
    

    【讨论】:

    • 您能否详细说明一下,因为我遇到了类似的问题,而您的回答并没有太大帮助。这是从哪里删除的? project.json 还是 project.lock.json?
    • 添加到 project.json 并确保 Microsoft.Framework.Runtime.Interface 被删除。
    • 我已经仔细检查了我的 project.json,但我从来没有 Microsoft.Framework.Runtime.Interface,但我添加了“Microsoft.Framework.Runtime.Abstractions”:“1.0.0 -beta5",我仍然无法使您的修复工作:\
    • 我将添加我的 project.json 依赖项部分
    • 您可能还应该删除 "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta5" - 以及相关的 app.UseBrowserLink();在你的创业课上。 ASP.Net vNext 团队表示 Browser Link 目前不支持 beta5。
    【解决方案2】:

    我自己刚刚开始工作,上面的答案缺少关于 Startup.cs 还需要一些小改动的部分,希望这有助于其他人从 beta4 升级到 beta5:

    在 project.json 依赖项中添加:

    "dependencies": {
        ...
        "Microsoft.Framework.Runtime.Abstractions": "1.0.0-beta5",
        ...
      },
    

    在您的 Startup.cs 中确保您有以下使用:

    using Microsoft.Framework.Runtime;
    

    启动方法如下所示(包括末尾的.Build(),现在也需要它。

    public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
    {               
        Configuration = new ConfigurationBuilder(appEnv.ApplicationBasePath)
            .AddJsonFile("config.json")
            .AddEnvironmentVariables()
            .Build();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2018-11-19
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      • 2018-11-15
      相关资源
      最近更新 更多