不能加载类型为(UserType). assemblyqualifiedname的程序集

本文关键字:assemblyqualifiedname 程序集 UserType 加载 类型 不能 | 更新日期: 2023-09-27 18:01:24

我在程序集MyUserType.dll中创建了一个类Address。我想在控制台应用程序中加载它。我尝试了下面的代码,但是失败了:

 //cfg.AddAssembly(typeof(Address).AssemblyQualifiedName);

但是当我尝试使用其他加载程序集方法时,它成功了。

cfg.AddAssembly(Assembly.GetAssembly(typeof(Address)));
cfg.AddAssembly("MyUserType");

失败的消息是:

消息= "无法加载文件或程序集"。地址,订购。Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'或其依赖项之一。给定的程序集名称或代码库无效。(来自HRESULT: 0x80131047的异常)"

为什么?

不能加载类型为(UserType). assemblyqualifiedname的程序集

Ordering.Data.Address有一个对程序集的引用,该程序集与库MyUserType.dll不在同一目录中。确保所有引用的程序集都在System32文件夹、GAC或与库相同的目录中。

类型。AssemblyQualifiedName返回类型的限定名,因为它返回与包含程序集的FullName连接的类型的FullName。你好像要把它传进大会。加载或类似,因此显然失败,因为这不是有效的程序集名称。

要使用AssemblyQualifiedName,您需要将其传递给类似于静态Type.GetType(string)方法的东西,该方法将正确解析它。

相关文章:
  • 没有找到相关文章