C#服务地点

C#服务地点,c#,service,C#,Service,我在C#中有一个服务,它使用config.xml文件进行配置。 我想将xml与服务可执行文件一起发布。但我似乎不知道在运行时在哪里找到服务exe安装位置,以便找到/加载配置 请提供帮助。静态方法将为您提供对条目程序集(.exe文件)的引用,属性将为您提供文件的位置: Assembly.GetEntryAssembly().Location 另一种方法是,如果您知道条目程序集中的类型,则使用获取对程序集的引用: typeof(Program).Assembly.Location 如果只需要目录

我在C#中有一个服务,它使用config.xml文件进行配置。 我想将xml与服务可执行文件一起发布。但我似乎不知道在运行时在哪里找到服务exe安装位置,以便找到/加载配置

请提供帮助。

静态方法将为您提供对条目程序集(.exe文件)的引用,属性将为您提供文件的位置:

Assembly.GetEntryAssembly().Location
另一种方法是,如果您知道条目程序集中的类型,则使用获取对程序集的引用:

typeof(Program).Assembly.Location
如果只需要目录路径,请使用静态方法

离题:你有没有考虑过内置的.NET?我并不是说这在您的特定情况下会更好,但我想在滚动您自己的配置框架之前值得考虑。

静态方法将为您提供对条目程序集(.exe文件)的引用,属性将为您提供文件的位置:

Assembly.GetEntryAssembly().Location
另一种方法是,如果您知道条目程序集中的类型,则使用获取对程序集的引用:

typeof(Program).Assembly.Location
如果只需要目录路径,请使用静态方法


离题:你有没有考虑过内置的.NET?我并不是说这在您的具体情况下会更好,但我想在滚动您自己的配置框架之前值得考虑。

您的意思是您正在visual studio中构建一个项目,并且您想知道编译的EXE保存到何处?您可以在“[project folder]\bin\debug”中找到它


或者你的意思是你已经在你的计算机上安装了一个服务,你想知道它从哪里运行?为此,您可以右键单击服务并选择属性。这将显示文件的路径。

您的意思是您正在visual studio中生成一个项目,并且希望知道编译后的EXE保存到何处?您可以在“[project folder]\bin\debug”中找到它


或者你的意思是你已经在你的计算机上安装了一个服务,你想知道它从哪里运行?为此,您可以右键单击服务并选择属性。这将显示文件的路径。

您的可执行文件位于

我的一些服务项目加载这样的定制log4net配置

var file = new FileInfo( AppDomain.CurrentDomain.BaseDirectory + "/" + filename );
if (file.Exists) {
    XmlConfigurator.ConfigureAndWatch( file );    
}

同一服务使用普通app.config文件进行标准配置。

您的可执行文件位于

我的一些服务项目加载这样的定制log4net配置

var file = new FileInfo( AppDomain.CurrentDomain.BaseDirectory + "/" + filename );
if (file.Exists) {
    XmlConfigurator.ConfigureAndWatch( file );    
}
同一服务使用普通app.config文件进行标准配置