介绍
我不知道这是一个bug还是我完全没有理解。
我有一个项目(Windows服务),叫做WINSERV。它依赖于3个来自3个独立项目(Project A、B、C)的DLL。然而,A依赖于C,B既依赖于A又依赖于C。
使用InstallShield LE构建安装程序时,无论我怎么做,我的C项目总是一个过期版本,而我无法使其改变。我增加了版本号,“清除并重建”,但在远程服务器上安装时,版本总是过期的。
我将每个依赖于C的项目设置为“不复制到本地”,以允许WinServ项目自己维护“引用”并将其复制到安装程序中。
问题
但无论我做什么,安装后都是过期版本。几个小时后,我终于通过在WINSERV项目上删除“复制到本地”,并将C项目添加到“应用程序数据”(C项目的主要输出)中的InstallShield安装项目中,解决了这个问题。这似乎起作用了!!!
问题
我试了一千次“make clean”。我在构建和创建安装程序之前检查了C项目的DLL版本,它总是过期的旧版本。
有人能解释这个问题吗?还是一个bug?
PS. InstallShield LE不支持Windows服务,如果你正在阅读此文,请注意。