winforms Windows服务中的Application.ExecutablePath的等效项是什么

1tu0hz3e  于 2023-06-24  发布在  Windows
关注(0)|答案(4)|浏览(120)

在windows窗体应用程序中,我使用Application.Executable路径来访问App.config.,
我需要在Windows服务中找到app.config。那会是什么

7xllpg7q

7xllpg7q1#

有几个选项:

System.Reflection.Assembly.GetExecutingAssembly().Location

对于当前程序集。或者,您可以从类型派生它:

System.Reflection.Assembly.GetAssembly(typeof(MyAssemblyType)).Location

然后(在任何一个上),您都可以使用Path.GetDirectoryName来获取它的源文件夹(假设您的app.config也在同一个目录中)。

w7t8yxp5

w7t8yxp52#

查看AppDomain.BaseDirectory Property
获取程序集冲突解决程序用于探测程序集的基目录。
最常见的用法类似于

var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
fnx2tebb

fnx2tebb3#

可能的选项包括:

AppDomain.CurrentDomain.BaseDirectory

Assembly.Location

Assembly.GetExecutingAssembly().CodeBase

我用了最后一个。

zysjyyx4

zysjyyx44#

您可以使用ConfigurationManager读取App.config:
1.将对System.Configuration的引用添加到项目中。
1.使用ConfigurationManager读取App.config:

ConfigurationManager.AppSettings["KeySample"]

在配置文件中,您可以像这样添加密钥:

<configuration>
    <appSettings>
       <add key="KeySample" value="SampleValue"/>
    </appSettings>
</configuration>

所以你不需要找到路径。

相关问题