dll 配置文件 (dllName.dll.config)

Posted

技术标签:

【中文标题】dll 配置文件 (dllName.dll.config)【英文标题】:dll Configuration file (dllName.dll.config) 【发布时间】:2012-01-21 23:30:24 【问题描述】:

我正在为 .NET 4 应用程序开发一个插件,我想向 dll 添加一个配置文件,因为我不想将配置放在主配置文件中。 我已经在项目中添加了 app.config,它可以正确编译并生成 dllName.dll.config。

这是我的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="MyTabsConfig" type="NewApp.UI.MyTabsConfigHandler, NewApp.UI" />
  </configSections>
  <MyTabsConfig>
    <MyTabs>
      <MyTab Name="First" Leads="2" />
      <MyTab Name="Second" Leads="4" />
      <MyTab Name="Third" Leads="1" />
    </MyTabs>
  </MyTabsConfig>
</configuration>

现在我有 1 个问题: 如果我将文件复制到主应用程序的 ExtraPlugins 目录中,则在调用 GetSection("MyTabsConfig") 时找不到 NewApp.UI.dll。我认为它正在查看主应用程序文件夹。

谢谢。

【问题讨论】:

可能重复***.com/questions/594298/c-sharp-dll-config-file 【参考方案1】:

你尝试过这样的事情吗?

ConfigurationSection section = ConfigurationManager.OpenExeConfiguration("myConfig.config").GetSection("mySection");

【讨论】:

嗯,是的,我做了类似的事情,ConfigurationManager.OpenExeConfiguration 获取配置文件。当我在其上调用 GetSection 时出现异常:“无法加载文件或程序集 'NewApp.UI' 或其依赖项之一。系统找不到指定的文件。”:“NewApp.UI””。我认为是在库及其配置位于“ExtraPlugins”目录中时,在主文件夹中查找此 dll。 如果你知道的话,我会尝试一个相对路径。即OpenExeConfiguration("../ExtraPlugins/myConfig.config")

以上是关于dll 配置文件 (dllName.dll.config)的主要内容,如果未能解决你的问题,请参考以下文章

C# DLL 配置文件不存在

VS2012中引用dll目录的配置方法转

如何将 dll 配置文件添加到添加 dll 作为参考的项目中?

将 dll 的配置文件移动到调用 dll 的应用程序

C#如何用程序把文本文件打包成dll文件

Dynamics AX 2012 DLL 配置文件未更新