需要完全限定的类型名称。

8

我需要在运行时解析程序集和类型,并找到完全限定的类型名称。出于某种原因,我无法正确完成此操作,因为我不断收到一个异常,指示找不到指定的类型。

app.config文件定义了要查找的程序集,它的格式如下:

<configSections>
    <section name="modules" type="Microsoft.Practices.Composite.Modularity.ModulesConfigurationSection, Microsoft.Practices.Composite"/>
  </configSections>
  <modules>
    <module assemblyFile="G:\Data\Visual Studio 2008\Projects\Race Management System.Shell\ConfigurationModularity\bin\Debug\Modules\Driver.Data.Module.dll" moduleType="Driver.Data.Module.DriverDataModule, DriverDataModule" moduleName="Driver.Data.Module.DriverDataModule"></module>
  </modules>

组件名称为:Driver.Data.Module 组件的命名空间为:Driver.Data.Module 类型名称为:DriverDataModule,这也是.cs文件的名称。
我无法找到如何在xml文件中正确指定名称。 有人可以帮我提供完全限定的类型名称吗?
这是一个复合WPF应用程序。
谢谢!
2个回答

20

尝试使用 Driver.Data.Module.DriverDataModule, Driver.Data.Module

你还可以通过实例化该类型的对象并检查其Type的AssemblyQualifiedName属性来找到完整的程序集限定名称:

DriverDataModule module = new DriverDataModule();
string fullyQualifiedName = module.GetType().AssemblyQualifiedName;

0

你遇到了什么错误?如果你很难从应用程序中获取完整的错误消息,并且你认为你的应用程序在加载程序集本身时出现问题,你可以使用fuslogvw工具将完整的详细信息记录到磁盘上。

同时,值得打开反编译器(Reflector)查看程序集的完整名称(当你打开反编译器时,在窗口左下角显示),并检查该类型是否确实定义在你认为的命名空间中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接