使用CreateInstance()发现“无法找到类型”错误

我正在尝试在C#项目中的连接实用程序中使用.CreateInstance() ,同时序列化XML。 .Unwrap()用于解包可序列化的返回类型,并获取我正在尝试创建的类型的实例。

 String fileToLoad = @"D:\RPMOpen\svnCobra\conversion\aui\Model\bin\Debug\RPM_Model"; String file = Path.GetFileName(fileToLoad); AbstractResponseMessageData response = (AbstractResponseMessageData)Activator.CreateInstance(file, responseName).Unwrap(); 

我在@"D:\RPMOpen\svnCobra\conversion\aui\Model\bin\Debug\RPM_Model"程序集@"D:\RPMOpen\svnCobra\conversion\aui\Model\bin\Debug\RPM_Model"加载正常,但由于responseName ARC_LOGONRS中的ARC_LOGONRS类型,我收到以下错误:

方法ConnectUtil.Execute中的错误:无法从程序集RPM_Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null加载类型ARC_LOGONRS

现在,这就是我遇到错误的原因:

确实引用了错误中指定的程序集。
2.我的GAC中没有任何内容覆盖my /Debug文件夹中的.dll。
3.我确保我拥有.dll的正确版本。
4. .dll没有其他依赖项。
5.我的项目和.dll都有相同的目标平台。
6.知道我正在引用程序集,好像我将ARCLOGON_RS放在我的代码中并将鼠标hover在它上面我看到了

类RPM.Model.Data.ARCLOGON_RS

我可以专注于它来看它的属性。
7.我已经清理并重建了两种解决方案。
8.类型确实有一个公共默认构造函数,类是public。
9. .dll位于参考节点中。
10.确实将正确的程序集名称作为参数传递。

我的问题是,如果有人知道为什么我的项目可能会抛出这个错误,以及我如何修复它,因为我完全没有诊断。

非常感谢任何帮助。

在向CreateInstance()提供typeName时,我不得不对完整类型进行硬编码。 尽管我的错误看起来好像在我想要的RPM.Model.Data中查看,但显然不是。 将RPM.Model.Data.ARC_LOGONRS编辑为RPM.Model.Data.ARC_LOGONRS而不仅仅是ARC_LOGONRS是克服错误所必需的。