我写了一个windows服务,在服务中我要调用一个XML文件来读取设置参数,用AppDomain.CurrentDomain.SetupInformation.ApplicationBase我已经能取到程序的运行目录了.但string Fi = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"\Setup.Xml";
DsSetup.ReadXml(Fi);程序try出来去永远说Could not find file 'C:\WINDOWS\system32\Setup.Xml'.就算我写死路径
DsSetup.ReadXml(@"D:\jackon\AMI\GspService\bin\Debug\Setup.Xml");try出来还是一样Could not find file 'C:\WINDOWS\system32\Setup.Xml'.晕死,不知道为什么....哪位大侠能救救我.

解决方案 »

  1.   

    服务程序因为有宿主进程,他的启示路径是system32目录,你可以附加进程调试服务,设断点看看错误原因
      

  2.   

    用这个string file=System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
    获取windows服务的程序执行文件名称,然后根据文件名获取所在路径,剩下的就看你怎么处理了...........
      

  3.   

    我是用日志方式来查错的,但现在问题是,我写死了readxml的路径,还是提示相同的错误,真是搞不懂.
      

  4.   

    不好意思,问题已经解决了,原来是自己程序的问题,有两个地方都调用SETUP.XML,改了一个地方,另一个地方没有改,呵呵.