C# 坚持;找不到类型";使用CreateInstance()时出错

C# 坚持;找不到类型";使用CreateInstance()时出错,c#,dll,assemblies,createinstance,C#,Dll,Assemblies,Createinstance,我试图在C#项目的连接实用程序中使用.CreateInstance(),同时序列化XML.Unwrap()用于展开可序列化返回类型,并获取我尝试创建的类型的实例 String fileToLoad = @"D:\RPMOpen\svnCobra\conversion\aui\Model\bin\Debug\RPM_Model"; String file = Path.GetFileName(fileToLoad); AbstractResponseMessageData response =

我试图在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();
我的程序集
RPM\u Model
位于
@“D:\RPMOpen\svnCobra\conversion\aui\Model\bin\Debug\RPM\u Model”
可以正常加载,但由于
responseName
中的类型
ARC\u LOGONRS
导致我出现以下错误:

方法ConnectUtil.Execute中出错: 无法从程序集
RPM\U型号、版本=1.0.0.0、区域性=中立、PublicKeyToken=null中加载类型
ARC\U登录名

现在,这就是为什么我被困在错误上的原因:

1。我确实引用了错误中指定的程序集
2。我的GAC中没有任何内容覆盖我的
/Debug
文件夹中的.dll
3。我已确保拥有正确版本的.dll
4。该.dll没有其他依赖项
5.我的项目和.dll都有相同的目标平台
6.我知道我正确地引用了程序集,就好像我将
ARCLOGON\u RS
放在我的代码中并将鼠标悬停在它上面一样

类RPM.Model.Data.ARCLOGON\r

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

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


非常感谢你的帮助

CreateInstance()
提供typeName时,我必须硬编码完整的类型。尽管我的错误看起来像是在
RPM.Model.Data
中查找,但显然不是这样。编辑
responseName
成为
RPM.Model.Data.ARC_LOGONRS
而不是简单的
ARC_LOGONRS
是克服错误所必需的

该类型是否具有公共默认构造函数?@RufusL是的,抱歉,忘记了,已编辑的问题。愚蠢的问题,但DLL是否与正在运行的应用程序存在于同一文件夹中?是否存在内部异常?根据:,原因可能是DllNotFound、EntryPointNotFound或TypeAccess异常。这至少有助于缩小范围。内部的异常只会将我指向
AbstractResponseMessageData
行。从这三个方面来看,我认为必须找到EntryPointNotFound,但我不知道如何进一步诊断异常。