做了一个winform小项目,里面用xml来保存数据,充当数据库,可是xml路径是绝对的,打包——>安装——>运行程序报错:值不能为空,就是没找到我的xml。请问各位有没有什么解决方法,小女第一次打包程序,不是很清楚,请各位大侠赐教先谢啦!!!

解决方案 »

  1.   

    你的xml是依赖文件,打包的时候记得添加进到依赖项里去
      

  2.   

    如果非得绝对路径的话,安装包里面也要设置绝对路径
    但一般都是相对路径,都放在安装目录或者子目录下把XML文件加到项目里面,设置文件属性的生成操作为内容在打包项目里面把项目内容输出加到安装目录就可以了
      

  3.   

    还是 用相对执行路径的方法吧,可以找出当前exe执行文件路径,然后再引用就可以了
      

  4.   

    我都是在System.Environment.CurrentDirectory目录下新建的,没有预先放文件进去,有数据进来再建文件夹
      

  5.   

    这类问题一般用相对路径:Directory.GetCurrentDirectory()
    不知道你的XML充当数据库是如何设计的
    如果XML文件只是充当一个配置文件那么在打包时要将这个文件添加进去:应用程序文件夹--添加--文件
    如果把XML当做简单数据库来用,以后还要在里面读写数据,那么这个文件建议你在程序运行时生成该XML文件
      

  6.   

    我是看着这个打包的,有点乱。。
    http://zhidao.baidu.com/question/41958246.html
      

  7.   

    可以用一个函数在安装的时候获取安装的路径啊!在使用XML时就不会发生找不到文件了!
    绝对路径岂不是强制用户装在那里!