关于命令行编译的问题,高手帮忙看看?为了支持命令行编译,我修改了工程引用方式,例如:ProjectA-- projectB
关于命令行编译的问题,高手帮忙看看?
为了支持命令行编译,我修改了工程引用方式,例如:
ProjectA--> projectB(原来为工程引用)
改为 ProjectA---> ..\Runtime\projectB.dll
我先编译projectB,成功
再编译projectA,提示找不到project或引用,可projectB.dll明明存在啊,后来我打开projectA.vbp,发现其引用为CLSID指定的.dll文件,我查询注册表,发现projectB.DLL的CLSID与projectA.vbp中指定的不同,这个问题有没有办法解决或者避免?
这个clsID不一致的原因可能是我在机器A上编译测试过工程,ok,拷贝源代码到机器B,出现上述情况,可能与不同机器编译时产生的clsid不一致有关,有没有办法预先指定clsID?
[解决办法]
编译DLL时选中二进制兼容试试
[解决办法]
可能是projectB编译选项的问题吧。一般来讲,无论这个projectB.dll在什么位置,只要它的ID在注册表中存在,系统就可以识别它。所以你应该设置projectB工程为二进制兼容模式,使得projectB.dll的每次编译都保持同一个ID,这样projectA就可以对其正确引用。
