同一文件夹的不同工程的编译问题
来源:互联网 发布:淘宝买二手苹果6 编辑:程序博客网 时间:2024/06/01 09:06
同一文件夹的不同工程的编译问题
公司写的程序需要进行压力测试,但是现成的测试软件都不能测试公司的程序。所以只有自己写机器人程序,需要引用发布版程序中大部分的类库,但是引用的类又稍有不同,例如:发布版程序需要检查权限,而测试版不管理权限,只测试操作。
开始我把原工程FgLogic.csproj文件复制一分出来,重命名为FgLogicRobot.csproj,但是输出程序集名称没有改还是FgLogic,只是将生成的输出路径改了(原来是..\..\Bin,现在是..\..\RobotBin),,然后将操作不同的类文件DefManager.cs从工程中排除,再把其副本命名为DefManagerRobot.cs,并加入工程,修改代码编译。
开始测试机器人程序(在VS中F5启动)没有问题,但是在运行发布版程序时发现有异常,当我将发布版解决方案重新编译后又可以用了,当然大家可以想像此时机器人程序不能正常运行(在VS中F5启动)了。
怎么回事呢?来来回回搞了很多次,我静下心来想了想,从VS的工作机制来说,编译的时候VS会先将编译得到的文件先放在工程文件夹下的 obj\Debug\ 下,然后再拷到编译目录中。因为我没有将程序集名称改掉,所以无论是原工程FgLogic.csproj还是机器人工程FgLogicRobot.csproj在编译时都会从FgLogic\obj\Debug\ 下取出文件放到自己的输出路径中。VS还有一个特点,就是如果工程的代码没有修改的话,再编译时程序是不会将 obj\Debug\ 下的dll文件重新生成的,所以就出现了上述情况。
知道了原因,我将机器人的工程的程序集名称全部修改了,再编译运行,上面的情况没有出现了。YeaH!
- 同一文件夹的不同工程的编译问题
- Quartus II 同一工程下编译不同实体,编译两个对等互补调用的模块
- Visual Studio Express: 实现同一套代码针对不同平台工程的编辑和编译
- 同一工程下的冲突问题
- 同一解决方案中不同工程Log4Net有的无效的现象
- 同一java文件的不同方式的编译结果
- 同一机器上不同应用服务器之间的Session问题
- 同一交换机不同网段的主机间通信问题
- 同一个数据用不同进制输出的问题
- 同一交换机不同网段的主机间通信问题
- 有关同一解决方案下多个工程相互调用的问题
- VS2010工程生成ipch文件夹的问题
- chmod 修改同一目录下文件或文件夹的不同权限
- DOS教学帖:复制不同文件夹下的同名文件至同一文件夹下并自动重命名的批处理
- Android如何在同一手机安装同个工程的不同版本
- 同一网站不同和二级域名和不同子目录的cookie 作用范围问题
- 不同文件夹的功能
- 同一段C++在Linux和windows下编译后的可执行文件有什么不同?
- java读取C++里的文件,C++的long用java怎么读取。负数的转变
- wzplayer for android 版本面世
- [Android] Android中动态添加Panel的框架代码
- VB、VC调用C++dll 函数、变量、类
- Oracle RMAN的show,list,crosscheck,delete
- 同一文件夹的不同工程的编译问题
- linux rm删除文件原理
- C++ static类成员
- 数据访问工厂 加上 泛型 的实现
- 结果集(ResultSet)用法
- Windows下使用标准Shell接口遍历文件和文件夹(1)
- Web应用界面设计规范—给项目组培训
- Android实现XML解析技术
- 改装Juploader上传组件,使其可以控制自由上传