简体   繁体   English

VS 2015RC中的MVC 6升级

[英]MVC 6 upgrade in VS 2015RC

I upgraded a VS2015RC MVC 6 web project (DNVM) from beta5 to beta6 and upgraded all dependencies to beta5 that I could. 我将VS2015RC MVC 6 Web项目(DNVM)从beta5升级到beta6,并将所有依赖项都升级到beta5。 After many tiny tweaks, I am down to one issue, I think. 经过许多细微的调整,我认为只有一个问题。 After chasing the configuration changes in startup I found the signature of the Startup method changed and includes an interface that wont resolve. 在启动中追踪配置更改后,我发现Startup方法的签名已更改,并且包含一个无法解析的接口。

Error CS0433 The type 'IApplicationEnvironment' exists in both 'Microsoft.Framework.Runtime.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' and 'Microsoft.Framework.Runtime.Interfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' Web.DNX 4.5.1 D:\\Repositories\\Web\\Startup.cs 35 错误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 =中性,PublicKeyToken =空'Web.DNX 4.5.1 D:\\ Repositories \\ Web \\ Startup.cs 35

I tried adding with nuget the beta4 Abstractions and Interfaces but neither worked. 我尝试用nuget添加beta4抽象和接口,但是都没有用。

What assembly did i miss to upgrade or add to the project? 我错过了什么大会来升级或添加到项目?

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

Thanks! 谢谢!

Tracked it down. 跟踪下来。

Just use "Microsoft.Framework.Runtime.Abstractions": "1.0.0-beta5" in project.json and remove the interfaces dependency if its there. 只需在project.json中使用“ Microsoft.Framework.Runtime.Abstractions”:“ 1.0.0-beta5”并删除接口依赖项(如果存在)。

My project.json 我的project.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",

  },

I just got this working myself, the above answer is missing one part about some minor changes also needed to Startup.cs, hopefully this helps others upgrade from beta4 to beta5: 我刚刚自己完成了这项工作,以上答案缺少有关Startup.cs也需要进行一些细微更改的部分,希望这可以帮助其他人从beta4升级到beta5:

In project.json dependencies add this: 在project.json依赖项中添加以下内容:

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

In your Startup.cs make sure you have the following using: 在您的Startup.cs中,确保您具有以下用途:

using Microsoft.Framework.Runtime;

The startup method would look like this (including the .Build() at the end which is also needed now. 启动方法看起来像这样(包括.Build()最后也需要)。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM