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

use*_*278 16 c# asp.net asp.net-mvc

今天我创建了一个新的空vnext web项目并开始遵循本指南:http://www.asp.net/vnext/overview/aspnet-vnext/create-a-web-api-with-mvc-6

当我尝试添加:

using Microsoft.Framework.DependencyInjection;
Run Code Online (Sandbox Code Playgroud)

public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
    }
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说:

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'
Run Code Online (Sandbox Code Playgroud)

我一直在尝试aspnet.mvc的不同测试版,我从project.json中删除了aspnetcore50(因为它之前为我解决了问题).我还尝试指定要使用的命名空间,但它没有解决任何问题.现在我对如何解决这个问题缺乏想法.

我的project.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" : { }
}
}
Run Code Online (Sandbox Code Playgroud)

有没有人得到同样的错误并解决了它?

Bel*_*ash 1

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

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

using DI = Microsoft.Framework.DependencyInjection;
Run Code Online (Sandbox Code Playgroud)

然后

public void ConfigureServices(DI.IServiceCollection services)
{
    services.AddMvc();
}
Run Code Online (Sandbox Code Playgroud)