sha*_*oth 5 .net c# versioning interop visual-c++-2008
我有一个使用本机 C++ COM 对象的 C# 程序。Visual Studio 生成一个互操作程序集,其中包含 COM 对象中类型的包装器。每次我重新编译 C# 程序互操作程序集时都有版本 1.0.0.0。
这对安装程序不利 - 有时我们扩展 COM 对象接口(在某些接口的末尾添加新方法),因此必须更改互操作程序集。当安装程序尝试更新现有安装时,它认为互操作程序集没有改变(因为它仍然有 1.0.0.0 版)并跳过更新它并且程序不起作用。
如何控制分配给互操作程序集的版本号?
已经有一段时间了,所以我可能错误地记得它是如何工作的,但我认为如果您使用Tlbimp而不是让 VS 创建包装器,您可能能够做您想做的事情。
也许您可以使用该asmversion参数来完成此操作,否则如果您使用该参数为其指定一个强名称,则可能会出现这种情况keyfile。