有没有办法导入自定义配置部分?

发布于 2025-01-04 17:23:52 字数 1139 浏览 1 评论 0原文

我想知道是否有办法使子项目中的多个自定义配置部分相互附加?

例如,考虑项目结构:

Solution\
   MainGUI\
      App.config
      Settings\
         MainGUISettings.cs
   PrintingLibrary\
      App.config
      Settings\
         PrintingSettings.cs
   SocketLibrary\
      App.config
      Settings\
         SocketSettings.cs
   DatabaseAccessLibrary\
      App.config
      Settings\
         DatabaseAccessSettings.cs
   PrintingUnitTest\
      App.config
      Settings\
         PrintingUnitSettings.cs

每个项目都有一个 App.config,其中包含各自任务的特殊设置。例如,PrintingLibrary 包含一个 App.config,其中包含 PrintingSettings 自定义配置部分。 SocketLibrary 包含一个 App.config,其中包含 SocketSettings 自定义配置部分。 DatabaseAccessLibrary 包含一个 App.config,其中包含 DatabaseAccessSettings 自定义配置部分。

MainGUI 包含一个 App.config,其中包含主 GUI 设置以及每个库的自定义配置部分的“导入标签”。查看 MainGUI 项目的 App.config 源时,PrinterSettings、SocketSettings 和 DatabaseAccessSettings 部分只是“导入代码”,但是当您构建 MainGUI 时,生成的 MainGUI.exe.config 文件包含所有三个子部分。

如果我构建 PrintingUnitTest,它还会导入 PrinterSettings 自定义部分。那么有没有内置的方法可以做到这一点?

现在,我执行此操作的方法是将所有自定义配置部分放置在 MainGUI 项目的 App.config 中,然后将所需的部分复制到 UnitTest 项目的 App.config 中。

I would like to know if there is a way to make several custom configuration sections in subprojects to append to each other?

For example, consider the project structure:

Solution\
   MainGUI\
      App.config
      Settings\
         MainGUISettings.cs
   PrintingLibrary\
      App.config
      Settings\
         PrintingSettings.cs
   SocketLibrary\
      App.config
      Settings\
         SocketSettings.cs
   DatabaseAccessLibrary\
      App.config
      Settings\
         DatabaseAccessSettings.cs
   PrintingUnitTest\
      App.config
      Settings\
         PrintingUnitSettings.cs

Each Project has an App.config that contains special settings for their respective task. For example the PrintingLibrary contains an App.config that contains a PrintingSettings custom configuration section. The SocketLibrary contains an App.config that contains a SocketSettings custom configuration section. The DatabaseAccessLibrary contains an App.config that contains a DatabaseAccessSettings custom configuration section.

The MainGUI contains an App.config which contains the main GUI settings plus "imports tags" of the custom configuration sections of each library. On viewing the App.config source of the MainGUI project the PrinterSettings, SocketSettings and DatabaseAccessSettings sections are just "import code" but when you build the MainGUI the generated MainGUI.exe.config file contains all three sub sections.

If I build the PrintingUnitTest it would also import the PrinterSettings custom section. So is there a built in way to do this?

Right now the way I do this is just place all the custom configuration sections in the MainGUI project's App.config and just copy the needed sections in the UnitTest project's App.config.

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

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

发布评论

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

评论(1

稍尽春風 2025-01-11 17:23:52

没有办法实现这一点,并且您不应该将 app.config 放入任何库项目中(除非在 WCF 等罕见情况下)。所有配置都应该转到可执行项目的 app.config,因为这是 System.Configuration.ConfigurationManager 关心的地方。

There is no way to achieve that, and you should not put app.config inside any library project (unless under rare conditions such as WCF). All configuration should go to the app.config of the executable project, as that's the place System.Configuration.ConfigurationManager cares about.

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