Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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# 简单注入器Web Api控制器构造函数注入失败_C#_Asp.net_Asp.net Web Api_Simple Injector - Fatal编程技术网

C# 简单注入器Web Api控制器构造函数注入失败

C# 简单注入器Web Api控制器构造函数注入失败,c#,asp.net,asp.net-web-api,simple-injector,C#,Asp.net,Asp.net Web Api,Simple Injector,尝试实例化注入的控制器时,我的Web Api应用程序失败。我用的是简单的注射器。引导喷油器如下所示: [assembly: WebActivator.PostApplicationStartMethod(typeof(SimpleInjectorWebApiInitializer), "Initialize")] namespace WebApi { using System.Web.Http; using SimpleInjector; using SimpleInj

尝试实例化注入的控制器时,我的Web Api应用程序失败。我用的是简单的注射器。引导喷油器如下所示:

[assembly: WebActivator.PostApplicationStartMethod(typeof(SimpleInjectorWebApiInitializer), "Initialize")]

namespace WebApi
{
    using System.Web.Http;
    using SimpleInjector;
    using SimpleInjector.Integration.WebApi;

    public static class SimpleInjectorWebApiInitializer
    {
        public static void Initialize()
        {                
            var container = new Container();
            InitializeContainer(container);
            container.RegisterWebApiControllers(GlobalConfiguration.Configuration);
            container.Verify();

            GlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
        }

        private static void InitializeContainer(Container container)
        {
            container.RegisterWebApiRequest<ISomething, Something>();
        }
    }
}
我经常遇到的错误是:

<Error>
    <Message>An error has occurred.</Message>
    <ExceptionMessage>
    An error occurred when trying to create a controller of type 'SomethingController'. Make sure that the controller has a parameterless public constructor.
    </ExceptionMessage>
    <ExceptionType>System.InvalidOperationException</ExceptionType>
</error>

发生了一个错误。
尝试创建“SomethingController”类型的控制器时出错。确保控制器具有无参数公共构造函数。
System.InvalidOperationException异常

配置
简单注入器时缺少什么?

具有属性WebActivator.PostApplicationStartMethod的程序集需要与启动项目的输出目录(即您的webapi/bin)位于同一目录中


无法正确构造控制器,因为Autofac尚未设置为依赖项解析程序-由于未加载程序集,因此从未调用初始化函数)

您可以发布完整的堆栈跟踪吗?
<Error>
    <Message>An error has occurred.</Message>
    <ExceptionMessage>
    An error occurred when trying to create a controller of type 'SomethingController'. Make sure that the controller has a parameterless public constructor.
    </ExceptionMessage>
    <ExceptionType>System.InvalidOperationException</ExceptionType>
</error>