今天,我创建了一个新的空的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测试版,我从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" : { }
}
}
有没有人遇到了同样的错误并解决了它?
发布于 2015-04-22 22:54:52
为什么不使用显式引用public void ConfigureServices(Microsoft.Framework.DependencyInjection.IServiceCollection services)
或者,您可能需要使用这样的别名
using DI = Microsoft.Framework.DependencyInjection;
然后
public void ConfigureServices(DI.IServiceCollection services)
{
services.AddMvc();
}
发布于 2015-05-19 20:49:53
此错误通常是由project.json中指向两个不同版本的两个引用的冲突引起的。由于依赖关系,您可以获得对两个不同版本的DependencyInjection库的两个引用。所以这可能是-beta3和-beta4不匹配,或者类似的东西。即使这两个库不是一回事,也可能会导致问题。
发布于 2015-07-09 00:03:11
你需要按照here的解释更新到你的nuget包的最新版本。它们中的大多数都是预发布的,您可能需要将https://www.myget.org/F/aspnetvnext/api/v2/作为nuget包的一部分添加以获得夜间构建
https://stackoverflow.com/questions/28696226
复制相似问题