2010-04-11 63 views
8

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

E.g.在一个网络应用程序,这将是web.config,在Windows应用程序或服务,这将是myapp.exe.config

回答

15

试试这个:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 

如果不起作用,引用添加的System.Web和System.Configuration,那就试试这个:

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

谢谢。经过第一次测试后,第一种方法似乎适用于Windows服务和Web应用程序。 – M4N 2010-04-11 14:35:11

+0

我从不接受答案(但我会做),例如能够验证解决方案并给予他人一个回答的机会。 – M4N 2010-04-13 07:32:22

0

使用Configuration.FilePath

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

+0

是的,但你需要首先有一个“配置”元素...不幸的是没有“Configuration.CurrentElement”或类似的东西...... – 2010-04-11 14:29:30

+0

我将如何到达配置实例? – M4N 2010-04-11 14:35:36