C# Asp vnext IServiceCollection存在于两个名称空间中

C# Asp vnext IServiceCollection存在于两个名称空间中,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,今天,我创建了一个新的空vnext web项目,并开始遵循以下指南: 当我尝试添加: using Microsoft.Framework.DependencyInjection; 及 我得到一个错误,说: The type 'IServiceCollection' exists in both 'Microsoft.Framework.DependencyInjection.IServiceCollection, Version=0.0.0.0, Culture=neutral, Public

今天,我创建了一个新的空vnext web项目,并开始遵循以下指南:

当我尝试添加:

using Microsoft.Framework.DependencyInjection;

我得到一个错误,说:

The type 'IServiceCollection' exists in both 'Microsoft.Framework.DependencyInjection.IServiceCollection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' and 'Microsoft.Framework.DependencyInjection.Interfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
我一直在尝试aspnet.mvc的不同beta,我从project.json中删除了aspnetcore50(因为它已经为我解决了以前的问题)。我还试图指定要使用的名称空间,但它没有解决任何问题。现在我没有办法解决这个问题

myproject.json

{
"webroot": "wwwroot",
"version": "1.0.0-*",
"exclude": [
    "wwwroot"
],
"packExclude": [
    "node_modules",
    "bower_components",
    "**.kproj",
    "**.user",
    "**.vspscc"
],
"dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta2",
    "Microsoft.AspNet.Mvc": "6.0.0-beta4-12857"
},
"frameworks" : {
    "aspnet50" : { }
}
}

有人遇到过相同的错误并解决了吗?

为什么不使用显式引用
public void ConfigureServices(Microsoft.Framework.dependency injection.IServiceCollection services)

或者,您可能需要使用这样的别名

using DI = Microsoft.Framework.DependencyInjection;
然后


此错误通常是由project.json中指向两个不同版本的两个引用冲突引起的。由于依赖关系,您可以获得对DependencyInjection库的两个不同版本的两个引用。所以可能是-beta3和-beta4不匹配,或者类似的。即使这两个库不是同一个东西,也可能导致问题。

您需要更新到nuget软件包的最新版本,如前所述。其中大多数都是预发布版本,您可能需要添加作为nuget软件包的一部分,以便在project.json中的依赖项上进行夜间构建。如果您使用Microsoft.AspNet.Server.IIS beta2和Microsoft.AspNet.Mvc beta4。你不能这样做。您没有对所有mvc6依赖项使用相同的测试版


修复此问题,然后您必须更新Microsoft ASP.NET和Web工具,以匹配您在项目中使用的测试版(beta4)。

问题发生在我升级到Visual Studio 2015 CTP 6之后。此错误仅存在于以前版本中创建的项目中。我刚才有一个快速检查,当我在project.json中更改以下内容时
从“Microsoft.AspNet.Server.IIS”:“1.0.0-beta2”到“Microsoft.AspNet.Server.IIS”:“1.0.0-beta3”,现在我的错误消失了。

将visual studio更新为最新版本,由于某些原因,它现在可以工作了。您是如何明确更新VS的?我想我有最新的VS,但仍然存在这个问题。我从下载了VS,安装时没有更改任何设置
using DI = Microsoft.Framework.DependencyInjection;
public void ConfigureServices(DI.IServiceCollection services)
{
    services.AddMvc();
}