什么是Windows Service中的Application.ExecutablePath

时间:2013-06-19 12:43:54

标签: c# windows winforms c#-4.0

在Windows窗体应用程序中,我使用Application.Executable路径来访问App.config。,

我需要在Windows服务中找到app.config。那会是什么?

4 个答案:

答案 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

我个人用过最后一个。这是一个详细讨论这些选项的链接

Different ways to get Application Executable Path