2010-03-08 103 views
7

我需要在運行時解析程序集和類型,我需要查找完全限定類型名稱。出於某種原因,我無法正確理解它,因爲我一直得到一個異常,說它找不到指定的類型。需要完全限定類型名稱

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

Thanx!

回答

16

嘗試Driver.Data.Module.DriverDataModule, Driver.Data.Module

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

你什麼錯誤:

您還可以通過實例化類型的對象,並檢查其類型的AssemblyQualifiedName財產找到你的類型的完整集限定的名字嗎?如果您很難從應用程序中獲取完整的錯誤消息,並且您認爲應用程序在加載程序集本身時遇到問題,則可以使用fuslogvw工具將完整詳細信息記錄到磁盤。

這也值得打開Reflector中的程序集來仔細檢查程序集的全名(打開Reflector時顯示在窗口的左下角),並檢查該類型是否事實上在您的名稱空間中定義認爲是。

相關問題