我在Visual Studio 2005中向我的C#项目添加了对同事的COM DLL - MyLogic.dll的引用。正如所料,这会在我的输出文件夹中自动生成Interop.MyLogicLib.dll。但是,COM DLL的版本号是2.1.0.180,而自动生成的互操作程序集的版本号是1.0.0.0。如何让Visual Studio保留原始版本号?
就目前而言,1.0.0.0版本号让我对产品的安装感到悲伤。安装程序拒绝覆盖早期版本的互操作DLL,因为旧版本和新副本都具有1.0.0.0版本。
顺便说一句,我尝试使用“tlbimp /asmversion:2.1.0.180 MyLogic.dll”在命令行手动生成程序集,但是:
无论如何,Visual Studio可以自动复制COM版本号吗?
更新:道歉;我似乎有重复的another question。我确实首先寻找现有的,诚实的。我错过了它。 :(
答案 0 :(得分:3)
程序集版本号由类型库版本号设置,而不是DLL中的VERSIONINFO资源。请务必在IDL文件中正确设置库的“version”属性:
import "oaidl.idl";
import "ocidl.idl";
[
uuid(5F3D3EAC-0F66-4199-B548-654A9174552B),
version(2.1),
helpstring("Something descriptive here")
]
library YourLib {
// etc
};