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

当我尝试添加时:

using Microsoft.Framework.DependencyInjection;


public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
    }

我收到一条错误消息:
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(因为它之前已经为我解决了问题)。我也尝试指定要使用的命名空间,但它没有解决任何问题。现在,我对如何解决此问题一无所知。

我的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" : { }
}
}

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

最佳答案

为什么不使用显式引用public void ConfigureServices(Microsoft.Framework.DependencyInjection.IServiceCollection services)
或者,您可能需要使用这样的别名

using DI = Microsoft.Framework.DependencyInjection;

然后
public void ConfigureServices(DI.IServiceCollection services)
{
    services.AddMvc();
}

关于c# - Asp vnext IServiceCollection存在于两个 namespace 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28696226/

10-13 00:54