c# - 我可以控制分配给互操作程序集的版本号吗?

标签 c# .net interop versioning visual-c++-2008

我有一个使用 native C++ COM 对象的 C# 程序。 Visual Studio 生成一个互操作程序集,其中包含 COM 对象中类型的包装器。每次我重新编译 C# 程序互操作程序集都有版本 1.0.0.0。

这对安装程序不利 - 有时我们会扩展 COM 对象接口(interface)(在某些接口(interface)的末尾添加新方法),因此必须更改互操作程序集。当安装程序尝试更新现有安装时,它认为互操作程序集没有更改(因为它仍然具有版本 1.0.0.0)并跳过更新它并且程序无法运行。

如何控制分配给互操作程序集的版本号?

最佳答案

已经有一段时间了,所以我可能记错了它是如何工作的,但我认为如果你使用 Tlbimp 就可以做你想做的事。而不是让 VS 创建包装器。

可能您可以使用 asmversion 参数来完成它,否则如果您使用 keyfile 参数给它一个强名称,则可能是可能的。

关于c# - 我可以控制分配给互操作程序集的版本号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4430016/

相关文章:

c# - 当 IsReadOnly 是接口(interface)成员时,List<T> 如何使 IsReadOnly 私有(private)?

c# - 如何在 Linux 上的 asp.net 核心中捕获退出信号?

c# - 当我尝试将文件夹添加到存档时出现错误 : the path is too long

c# - 如何动态订阅一个事件?

.net - .NET 组件和 COM 组件有什么区别

c# - 通过 .NET 自动化在 Word 文档中搜索和替换

c# - OWIN MVC - 多个 LoginProvider,当前 LoginProvider

c# - 如何分析每秒的 C# 方法?

c# - 未发布 Excel Interop 对象

c# - 在 C++ 和 C# 之间编码类实例的指针