我在Winform中有一个解决方案,方案中有一个类库项目和一个windows窗体项目,类库项目中的代码是想要取得一个xml文件的路径,这个xml是放在类库项目的bin/debug文件中的,而不是放在windows窗体项目的bin/debug文件中,现在我想取得这个路径并且读XML文件,想问一下怎么才能取得这个路径呢(路径不能自己写死)

解决方案 »

  1.   

    不建议这么做,如果这么做你以后发布软件还是要改
    建议的做法,类库项目的Post-build Event里,将那个XML文件,复制到窗体项目的debug目录下,然后...我想楼主知道怎么做了
      

  2.   

    windows窗体项目加入这个xml文件,它会拷到windows窗体项目下
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
    http://feiyun0112.cnblogs.com/
      

  3.   

    但是公司要求这个类库以后要和Windows项目分开部署的,这个XML不能放到Windows项目中去,那怎么办呢
      

  4.   

    //获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
    string str = System.Windows.Forms.Application.ExecutablePath;
    result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取应用程序的当前工作目录(不可靠)。
    string str = System.IO.Directory.GetCurrentDirectory();
    result: X:\xxx\xxx (.exe文件所在的目录)
      

  5.   

    AppDomain.CurrentDomain.BaseDirectory 这个路径是你程序运行的当前目录(存放.exe的路径)这应该不会有问题了吧
      

  6.   

    获取它的这个路径好获取关键是你怎么去用
    一般情况下只要你一运行它还是会自动添加到windows窗体项目下的
      

  7.   

    楼主说的让人很晕,"这个类库要和windows项目分开部署"是什么意思?那"windows项目"怎么加载这个类库?这个xml文件都和"windows项目"不在一台机器上,你要他的路径干什么?
      

  8.   

    我只是想读取xml中构造的sql语句,不能放Windows项目中,我时用.net remoting 将他们分开部署的 
      

  9.   

    在类库中操作XML,在Winform中操作类库方法。
      

  10.   

    是啊 ,我现在就是这么做的,可是取到的还是Winform的bin目录
      

  11.   

    你可以使用typeof(类库中任意一个类名).Assembly.Location获得该类库所在的位置,然后就可以读取类库文件夹下的xml文件了.