在Windows窗体应用程序中,我使用Application.Executable路径来访问App.config。,
我需要在Windows服务中找到app.config。那会是什么?
答案 0 :(得分:8)
有两种选择:
System.Reflection.Assembly.GetExecutingAssembly().Location
对于当前的组装。或者,您可以从类型派生出来:
System.Reflection.Assembly.GetAssembly(typeof(MyAssemblyType)).Location
然后(在任何一个上)你可以使用Path.GetDirectoryName
来获取它所源自的文件夹(假设你的app.config在同一个目录中)。
答案 1 :(得分:3)
查看AppDomain.BaseDirectory Property
获取程序集解析程序用于探测的基目录 组件。
最常见的用法类似于
var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
答案 2 :(得分:0)
您可以使用ConfigurationManager读取App.config:
1)为项目添加参考System.Configuration。
2)使用像这样的ConfigurationManager来读取App.config:
ConfigurationManager.AppSettings["KeySample"]
在配置文件中,您可以像这样添加密钥:
<configuration>
<appSettings>
<add key="KeySample" value="SampleValue"/>
</appSettings>
</configuration>
所以你不必走这条路。
答案 3 :(得分:0)
可能的选项是
AppDomain.CurrentDomain.BaseDirectory
OR
Assembly.Location
OR
Assembly.GetExecutingAssembly().CodeBase
我个人用过最后一个。这是一个详细讨论这些选项的链接