我在 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”在命令行手动生成程序集,但是:
- 我的项目拒绝使用手动生成的程序集进行构建,说我正在使用的类型是在一个名为 Interop.MyLogicLib.dll 的未引用程序集中定义的(我手动制作的没有“Interop.”前缀)。不得不承认,我不明白这一点。
- 我需要提前知道版本号,而不是让工具从 COM DLL 中读取它
- 这是一个手动过程,这很糟糕
无论如何,Visual Studio 肯定可以跨 COM 版本号自动复制吗?
更新:道歉;我似乎重复了另一个问题。老实说,我确实先搜索了一个现有的。我只是错过了。:(