查找当前配置文件的名称

Posted

技术标签:

【中文标题】查找当前配置文件的名称【英文标题】:Find the name of the current config file 【发布时间】:2011-02-06 17:19:36 【问题描述】:

有没有办法从类库中找到当前应用程序的配置文件的名称(和路径)?

例如在 Web 应用程序中,这将是 web.config,在 Windows 应用程序或服务中,这将是 myapp.exe.config

【问题讨论】:

【参考方案1】:

试试这个:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

如果这不起作用,请添加对 System.Web 和 System.Configuration 的引用,然后试试这个:

if(HttpRuntime.AppDomainAppVirtualPath  == null) 
    return ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).FilePath;
else
    return VirtualPathUtility.ToAbsolute("~/Web.config");

【讨论】:

谢谢。在第一次测试之后,第一种方法似乎适用于 Windows 服务和 Web 应用程序。 我从不立即接受答案(但我会接受),例如能够验证解决方案并让其他人有机会回答。【参考方案2】:

使用Configuration.FilePath:

获取此配置对象表示的配置文件的物理路径。

【讨论】:

是的,但是你需要先有一个“配置”元素......不幸的是没有“Configuration.CurrentElement”或类似的东西...... 我如何获得配置实例?

以上是关于查找当前配置文件的名称的主要内容,如果未能解决你的问题,请参考以下文章

如何通过与之关联的目标名称或捆绑标识符来查找配置文件的名称?

ios 如何从 plist 获取当前的临时配置文件名称(Dev、Dist、ETC)

Web.config总结

Qt:从代码中的任何位置访问当前设置文件

获取当前配置文件的文件名

配置文件读写