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