初始化后,MS Unity立即失败

时间:2019-09-26 20:15:18

标签: visual-studio c#-4.0 dependency-injection unity-container

代码如下:

protected void Application_Start(object sender, EventArgs e)
    {
        UnityContainer container = new UnityContainer();
        container.RegisterType<IMapper, CustomMapper>();
        container.RegisterType<ISessionLoginInfo, CustomSession>();
        IDateTimeProvider dtp = DateTimeProvider.Current;
        var cc = container.RegisterInstance<IDateTimeProvider>(dtp);
        GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);
 }

在最后一个花括号处,我得到了这个异常:

  

“ /”应用程序中的服务器错误。   无法从程序集“ Custom.Shared,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”中加载类型“ Custom.Shared.IDateTimeProvider”。   说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。

     

异常详细信息:System.TypeLoadException:无法从程序集“ Custom.Shared,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”中加载类型“ Custom.Shared.IDateTimeProvider”。

程序集Custom.Shared与主Web应用程序程序集位于同一文件夹中。接口IDateTimeProvider和相应的类DateTimeProvider放置在命名空间Custom.Shared中的上述程序集Custom.Shared中。同样,如果我用RegisterInstance()消除了这一行并创建了DateTimeProvider类的实例,则错误消失了。我做错了什么以及如何正确进行DI初始化?

0 个答案:

没有答案