1:应该提交release版的程序(bin目录下的)obj目录是中间文件。
2:项目资源管理中右键查看该引用的属性,表示改组件的来源在何处。实际运行是在exe所在目录找依赖组件的

解决方案 »

  1.   

    1.bin/release,
    2.引用的dll有一个复制到本地的选项。
      

  2.   

    1、向客户提交bin/debug下的,obj/debug下的好像是备份吧。
    2、bin/debug下的组件是在程序编译的时候拷贝过去的,你运行bin/debug的exe时候引用就是 bin/debug下的dll。程序在编译的时候引用的组件是dll的原始位置。
    像你说的“把原始位置的 DLL 改名后,程序还可以正常运行”,应该是在DLL改名之前编译好的吧。
    这个是我自己的理解,不知道对不对,大家探讨一下。
      

  3.   

    对,先编译好项目然后再改原始目录下的DLL名称。
      

  4.   

    1. build过程有 debug/release选项, 二者是不同的. 在结束开发是需要选择 release.
    2. 引用的 assembly 只是在IDE的开发环境下使用. 开发环境需要引入该组件以提供开发时的支持(语法提示与编译过程), 所以可以是不同的. 而实际运行时只要保证可执行程序可以找到该 assembly 即可.
      

  5.   

    1.bin/release,
    2.引用的dll有一个复制到本地的选项。