需要完全限定的类型名称

发布于 2024-08-23 21:54:18 字数 879 浏览 6 评论 0原文

我需要在运行时解析程序集和类型,并且需要找到完全限定的类型名称。由于某种原因,我无法得到正确的结果,因为我不断收到异常,说它找不到指定的类型。

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 应用程序的。

谢谢!

I need to resolve an assembly and type at runtime and I need to find the fully qualified type name. For some reason I cannot get it right, as I keep get an exception saying it cannot find the type specified.

The app.config file, in which the assembly to look for is defined, looks like this:

<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>

The assembly is called: Driver.Data.Module
Namespace in assembly is: Driver.Data.Module
and type name is: DriverDataModule, and this is also the name of the .cs file.

I cannot seem to find how to specify the name correctly in the xml file. Can somebody help me with the fully qualified type name?

This is for a Composite WPF application.

Thanx!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

走过海棠暮 2024-08-30 21:54:18

尝试Driver.Data.Module.DriverDataModule、Driver.Data.Module。

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

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

Try Driver.Data.Module.DriverDataModule, Driver.Data.Module.

You can also find the full assembly-qualified name of your type by instantiating an object of that type and examining the AssemblyQualifiedName property of its Type:

DriverDataModule module = new DriverDataModule();
string fullyQualifiedName = module.GetType().AssemblyQualifiedName;
孤者何惧 2024-08-30 21:54:18

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

还值得在 ​​Reflector 中打开程序集,仔细检查程序集的全名(打开 Reflector 时显示在窗口的左下角),并检查该类型实际上是在您认为的命名空间中定义的。

What error do you get? If you're having a hard time getting a full error message out of the app, and you think your app is having problems loading the assembly itself, you can use the fuslogvw tool to log full details to disk.

It's worth also opening the assembly in Reflector to double-check the assembly's full name (displayed on the bottom-left of the window when you open Reflector), and to check that the type is in fact defined in the namespace you think it is.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文