【问题标题】:Use ConfigurationManager with custom path to config file使用带有自定义路径的 ConfigurationManager 来配置文件
【发布时间】:2013-03-13 15:43:05
【问题描述】:

我看到了许多从 C# 控制台应用程序中的外部配置文件中读取值的解决方案,但我找不到适合我特定情况的解决方案:

  1. 由于部署原因(主要是针对控制台应用程序,该应用程序使用 Visual Studio Web 发布方法打包为 MVC 网站的一部分进行部署),exe 不会与其应用程序打包在一起。配置文件。

  2. 我依赖于使用 ConfigurationManager.AppConfig["blah"] 语法的库,我不能很好地将自己的 AppSettingsSection 传递给这些库。

我的控制台应用程序的 .exe 文件位于 MVC 应用程序的 bin 目录中。由于网站和控制台应用程序都使用相同的配置值,我试图简单地将站点的 Web.config 文件加载到控制台应用程序中,但我还没有找到这样做的方法。

【问题讨论】:

    标签: c# .net visual-studio-2010 .net-4.0 configuration-files


    【解决方案1】:

    一旦加载了AppDomain,就会加载默认配置文件。对于控制台应用程序,配置文件必须与可执行文件位于同一位置。

    我相信一种可能的解决方案是将AppDomain 作为控制台应用程序的子项加载并正确设置AppDomainSetup.ConfigurationFile 属性以从自定义位置加载配置文件,然后在其中执行整个控制台应用程序的逻辑孩子AppDomain

    您可以在这种情况下使用此AppDomain.CreateDomain 重载(MSDN 文章包含有关如何提供AppDomainSetup 的示例代码):

    据我所知,您无法更改 可执行文件 AppDomain 在加载后查找配置文件的默认行为,但正如我建议的那样,您可以创建自己的拥有自己的需求AppDomain

    【讨论】:

      猜你喜欢
      • 2022-11-30
      • 1970-01-01
      • 2013-09-24
      • 2012-02-16
      • 2011-10-18
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 2022-01-15
      相关资源
      最近更新 更多