我需要知道一种可靠的方法,可以确定Windows服务从其启动的文件夹。确定它的方法似乎与您在WPF应用程序中确定它的方法不同。
更多详细信息(可选阅读):
我有一个WPF应用程序和Windows服务都使用的嵌入式sql数据库。
在开发过程中,两个项目到数据库的相对路径都不同,因为它们在访问同一嵌入式数据库时都从自己的调试目录运行。
现在,我正在尝试创建一个安装程序。我已经将Windows服务可执行文件和wpf应用程序可执行文件都移到了相同的根目录。
在wpf应用程序中,我成功创建了指向嵌入式数据库的数据库连接字符串,但是在Windows服务中,我未成功创建此连接字符串。
最佳答案
要获取Windows服务的安装目录,可以使用:
private string GetExeDir()
{
System.Reflection.Assembly ass = System.Reflection.Assembly.GetExecutingAssembly();
string codeBase = System.IO.Path.GetDirectoryName(ass.CodeBase);
System.Uri uri = new Uri(codeBase);
return uri.LocalPath;
}
关于c# - 获取应用程序路径-WPF与Windows Service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2337629/