2015-02-24 70 views
16

今天,我创建了一个新的空vnext Web项目,并开始按照本指南:当我尝试添加http://www.asp.net/vnext/overview/aspnet-vnext/create-a-web-api-with-mvc-6天冬氨酸vnext IServiceCollection存在于两个命名空间

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

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

+0

将视觉工作室更新到最新版本,现在它因为某种原因工作 – user1842278 2015-02-24 14:46:49

+0

您是如何明确更新VS的?我想我有最新的VS并仍然有这个问题。 – ryan1234 2015-02-26 19:51:23

+0

我从http://go.microsoft.com/fwlink/?LinkId=521794下载了VS,并且在安装时没有更改任何设置 – user1842278 2015-02-27 09:17:19

回答

1

为什么不使用明确提到public void ConfigureServices(Microsoft.Framework.DependencyInjection.IServiceCollection services)

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

using DI = Microsoft.Framework.DependencyInjection; 

然后

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

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

0

在您的项目.json中的依赖项使用Microsoft.AspNet.Server.IIS beta2和Microsoft。 AspNet.Mvc beta4。你不能这样做。对于所有mvc6依赖项,您都没有使用相同的beta版本。

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

0

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

相关问题