大家好,最近刚进项目组,师兄教给一个任务:把一个C#项目(项目A)打包,然后安装修改注册表加入安装路径,然后在另一个项目(项目B)中读取注册表,调用已经安装的项目A。好了,背景已经交代完毕,现在小弟的问题是,用VS打包时应该添加什么文件。
     因为之前在网上搜过资料,很多都说把bin下的release文件夹中的内容加入就行了,但我只加入release文件夹,制作出来安装文件安装后,启动程序总是显示“提取画笔出错:未能找到...\Drawing\graphicparameter.xml的一部分。这里Drawing是项目中的一个包,graphicparameter.xml是其下的一个文件。
     于是我又进行了测验,当我把release文件夹考出来时,运行exe文件同样会出现上面的问题,错误相同。只有在整个项目中,exe文件才能正常运行。
     请问:
     1、是项目编译方式有问题吗?exe文件不是可执行文件吗,为什么单独拿出来运行就会出错,他要调用的包没有封装进去吗?
     2、如果项目编译方式没问题,那么应该怎样才能打包时将项目中的包添加进去呢?     因为没什么实际的开发经验,项目打包这种事确实没怎么经历过,网上搜到的也只是些最基本的东西,希望各位经验丰富的前辈们能帮助我解决这个问题。C#项目打包问题添加文件用到的包exe文件无法单独运行

解决方案 »

  1.   

    debug/bin目录下的文件,添加到打包程序中。
      

  2.   

    建个打包项目(见其他项目类型-〉打包部署)  然后自己慢慢学吧!  不要直接从release文件夹拷
    ...\Drawing\graphicparameter.xml 这个是路径错误!
      

  3.   

    release和debug应该一样,但是光加入debug下的内容,貌似不行。安装后总是提示找不到Drawing包中的graphicparameter.xml文件。
      而且,我把项目中的release文件夹单独拿出来运行exe文件也是出现这种情况。
      

  4.   

    不要直接从release文件夹考是什么意思?
       我就是建了个打包项目,然后把release文件夹下的内容添加到应用程序文件夹中了
      

  5.   

    不要直接从release文件夹考是什么意思?
       我就是建了个打包项目,然后把release文件夹下的内容添加到应用程序文件夹中了那行 看看你程序里调用graphicparameter.xml使用的路径呢?
      

  6.   

    我个人觉得inno比较方便,只是非MS的安装方式,WMIC查不到,msiexec用不了
      

  7.   

    建议用VS自带的打包,设置好主输出就OK了
      

  8.   

    额,我就是用的VS自带打包,而且也设置了主输出,我觉的  zhuankeshumo 貌似说到问题的症结了
      

  9.   

    一般就算自行提取也是提取debug下的内容,并且这个XML文件引用的是相对路径的,有点坑
      

  10.   


    意思就是程序本身有Bug?
      

  11.   

    1、先确定graphicparameter.xml是动态生成的,还是静态配置后再往里面填数据的
    2、如果是静态的,再看一下graphicparameter.xml的原路径,然后确定有没有选定为始终复制。
    3、一般如果是要在EXE中调用的,在BIN/RELEASE下会有相应的文件,除非引用的是其他路径,或者EXE下的某个文件夹下的文件。
    4、实在想不到了,就搜一下graphicparameter.xml在哪,然后添加到打包的项目中去打包。
      

  12.   

    貌似找到问题的症结了,zhuankeshumo说的很对,就是使用了相对路径,导致开发是的相对路径和发布后的相对路径不一样。
    十分感谢!