我用VS2008开发一个C/S架构的桌面应用程序 
程序中有一个文件夹中保存了系统配置的XML文件 
但是发布运行后都报错提示找不到XML文件 
而我自己在发布设置中把XML文件设置为必须包含 
为什么还是找不到 请问怎么解决

解决方案 »

  1.   

    解决了这50分一起给你
    http://topic.csdn.net/u/20090319/09/a0ccb858-0e49-4259-ad19-f35afb68a9c2.html
      

  2.   

    C/S程序发布很简单啊,就把根目录bin\Debug里面的文件都拿出来就可以单独使用了啊!Xml文件要看你给的路径了,如果路径是根目录的话,就把Xml文件放在Debug中就OK了。我们是这样做的!
      

  3.   

    在解决方案中重新建立一个文件夹   然后把xmlcopy进去,然后在发布试试 
      

  4.   

    可以将xml设置为始终复制到输出目录
      

  5.   

    很多的啊
    http://hi.baidu.com/longjiao81/blog/item/4767f51cbb0f6e8c87d6b6ae.html
    这里面很详细的
      

  6.   

    用相对路径,不要用绝对路径
    当然打包的时候要把XML包含进去!Application.StartupPath
    或者
    System.Reflection.Assembly.GetExecutingAssembly().CodeBase; 
    的意思就是取得运行中的程序名字和路径 
    但前面有file:///重要的格式 
    file:///D:/Project/bin/Debug/WindowsApplication.EXE 
    System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Substring(8); 
    的意思就是从第8位开始取得字符串 
    D:/Project/bin/Debug/WindowsApplication.EXE 
     
    这样也可以,可能比较直观点 
    string str = Assembly.GetExecutingAssembly().GetName().CodeBase; 
                    if (str.ToLower().IndexOf("file:///") >= 0) 
                    { 
                        str = str.Substring(8, str.Length - 8); 
                    } 
                    string path = System.IO.Path.GetDirectoryName(str);
      

  7.   

    Xml文件放在Debug..打包程序是打包DEBUG文件夹里的东西,因此你需要放进DEBUG文件夹,你XML的路径应该是错误了