Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 让Autofac与MVC6/ASP.NET5一起工作_C#_Autofac - Fatal编程技术网

C# 让Autofac与MVC6/ASP.NET5一起工作

C# 让Autofac与MVC6/ASP.NET5一起工作,c#,autofac,C#,Autofac,我无法让autofac工作,我已经看了这个问题,但它没有帮助 我使用的是完整的.NET堆栈,DNX 4.5.1 我包含了以下依赖项 "dependencies": { // matched latest autofac version with latest dependencyinjection version. "Autofac": "4.0.0-beta8-157", "Autofac.Framework.DependencyInjection": "4.0.0

我无法让autofac工作,我已经看了这个问题,但它没有帮助

我使用的是完整的.NET堆栈,DNX 4.5.1

我包含了以下依赖项

  "dependencies": {
    // matched latest autofac version with latest dependencyinjection version.
    "Autofac": "4.0.0-beta8-157",
    "Autofac.Framework.DependencyInjection": "4.0.0-beta8-157",    
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final" ...
以及以下初始化代码

// void?
public void ConfigureServices(IServiceCollection services)
{
     services.AddMvc();

     var container = new ContainerBuilder();
     ...
     // compilation error here!
     container.Populate(services);
}
我收到这个错误:

Error   CS1503  Argument 2: cannot convert
from'Microsoft.Extensions.DependencyInjection.IServiceCollection' to
'System.Collections.Generic.IEnumerable<Microsoft.Framework.DependencyInjection.ServiceDescriptor>' 
MuWapp.DNX 4.5.1    C:\MuWapp\Startup.cs    54  Active
错误CS1503参数2:无法转换
从“Microsoft.Extensions.DependencyInjection.IServiceCollection”到
'System.Collections.Generic.IEnumerable'
MuWapp.DNX 4.5.1 C:\MuWapp\Startup.cs 54激活

正如我在评论中提到的,您应该使用project.json中所有包的兼容版本。我在他们的页面上看到:他们已经发布了RC1的版本,但是RC1没有Autofac.Framework.DependencyInjection,所以如果您需要这个包,您将无法运行它

我认为您应该在开发过程中使用内置的依赖注入,直到有了RTM版本,所有第三方软件包都将变得稳定


内置DI具有将类注入控制器、属性和属性的功能,因此,除非您使用某些需要autofac的高级方案,否则您应该坚持使用asp.net 5 DI。

正如我在评论中提到的,您应该使用project.json中所有包的兼容版本。我在他们的页面上看到:他们已经发布了RC1的版本,但是RC1没有Autofac.Framework.DependencyInjection,所以如果您需要这个包,您将无法运行它

我认为您应该在开发过程中使用内置的依赖注入,直到有了RTM版本,所有第三方软件包都将变得稳定


内置DI具有将类注入控制器、属性和属性的功能,因此除非您使用某些需要autofac的高级方案,否则您应该坚持使用asp.net 5 DI。

对于RC1,您将需要使用autofac.Extensions.DependencyInjection包


我们重命名了软件包,以与Microsoft重命名为Microsoft.Extensions.DependencyInjection一致。支持早期DNX版本一直是一个移动的目标。

对于RC1,您需要使用Autofac.Extensions.DependencyInjection包


我们重命名了软件包,以与Microsoft重命名为Microsoft.Extensions.DependencyInjection一致。支持早期DNX版本一直是一个移动的目标。

我认为所有nuget软件包版本都应该匹配(您有beta-8和rc-1混合版)。autofac没有rc-1,所以如果您是正确的,rc1还不受autofac支持吗?这意味着rc有突破性的变化,这有点离谱!我认为所有的nuget软件包版本都应该匹配(您混合了beta-8和rc-1)。autofac没有rc-1,所以如果您是正确的,rc1还不受autofac支持吗?这意味着rc有突破性的变化,这有点离谱!谢谢-显然,我需要RC1依赖项注入来将autofac与ASP.NET vNext DI一起使用。因此,我不得不等待。谢谢-显然,我需要RC1依赖项注入来将autofac与ASP.NET vNext DI一起使用。因此,我将不得不等待。