“InversionOfControl.dll”和“InversionOfControl.dll”中都存在“InversionOfControl.IOC”类型

时间:2012-03-16 20:02:24

标签: c# .net unity-container

我有一个名为InversionOfControl的项目。该项目有一个名为IOC的类。它看起来像这样:

/// <summary>
/// This class is used to expose the unity container to the application.
/// </summary>
public class IOC
{
    /// <summary>
    /// The actual unity container for the app.
    /// </summary>
    public static IUnityContainer Container { get; set; }
}

我需要解决团结注射的所有项目都参考了这个课程。最近我开始收到此错误:

  

值不能为空。
  参数名称:container

正常结算:

ITransmitModel transmitModel = IOC.Container.Resolve<ITransmitModel>();

当我尝试检查IOC.Container时,监视窗口中的值为:

  

“InversionOfControl.dll”和“InversionOfControl.dll”中都存在“InversionOfControl.IOC”类型

我查看了输出文件夹,只有一个InversionOfControl.dll文件。 (我甚至清理了我的解决方案,并仔细检查了文件夹是否为空。然后我重建并再次检查只有一个。)

为什么它认为有两个名为InversionOfControl.dll的dll?

1 个答案:

答案 0 :(得分:1)

检查在运行时加载哪个模块的方法是“Debug-&gt; Windows-&gt; Modules”并检查有问题的DLL的加载位置。确保您没有加载具有不同版本的2个程序集。

作为下一步,我会搜索具有此名称的所有文件,以查看是否存在可疑副本(“cd / d c:\&amp; dir / s / b InversionOfControl.dll”)。