我很难尝试访问我的配置文件中的自定义配置节。自定义配置节:无法加载文件或程序集
配置文件正在从作为插件加载的.dll中读取。我使用Configuration Section Designer VS插件创建了配置和必要的代码。
命名空间是'ImportConfiguration'。 ConfigurationSection类是'ImportWorkflows'。该程序集是ImportEPDMAddin。
的XML:
<configSections>
<section name="importWorkflows" type="ImportConfiguration.ImportWorkflows, ImportEPDMAddin"/>
</configSections>
每当我试着在配置读,我得到的错误:
出错创建importWorkflows配置节处理程序:无法加载文件或程序集“导入EPDMAddin.dll'或它的一个依赖项。该系统找不到指定的文件。
该DLL不会与可执行文件驻留在相同的目录中,因为加载该插件的软件将dll及其依赖项放置在其自己的目录中。 (我无法控制。)
我编辑的代码,单一实例为以下:
string path = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
path = path.Replace("file:///", "");
System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenExeConfiguration(path);
return configuration.GetSection(ImportWorkflowsSectionName) as ImportConfiguration.ImportWorkflows;
我一直在使用一个简单的NameValueFileSectionHandler以及也试过,但我得到一个异常说它无法加载文件或程序集“系统”。
我已经阅读了许多博客文章和文章,听起来像是可以读取一个dll的配置文件,但我无法让它工作。有任何想法吗?谢谢。
你复制'ImportEPDMAddin.dll.config'到相同的位置吗? – ephemient 2009-11-05 18:49:44
配置是肯定的,因为我已经尝试从另一个类使用DictionarySectionHandler,并且工作。 – ehcanadian 2009-11-05 19:14:32