关于c ++:维护.NET项目中引用的COM dll的正确版本

关于c ++:维护.NET项目中引用的COM dll的正确版本

Maintain the correct version for a COM dll referenced in a .NET project

我想在.NET项目中引用COM DLL,但我还想确保创建的互操作DLL具有正确的版本(以便补丁程序知道何时必须更改DLL)。

如果使用TlbImp,则可以使用/asmversion标志指定所需的版本,但是当我直接从Visual Studio添加它时,它将获得与原始COM DLL的版本无关的版本。

我尝试更改.vcproj文件中的版本

1
2
3
4
5
6
7
8
9
10
11
12
<ItemGroup>
    <COMReference Include="MYDLLLib">
        <Guid>{459F8813-D74D-DEAD-BEEF-00CAFEBABEA5}</Guid>
        <!-- I changed this -->
        <VersionMajor>1</VersionMajor>
        <!-- This too -->  
        <VersionMinor>0</VersionMinor>
        <Lcid>0</Lcid>
        <WrapperTool>tlbimp</WrapperTool>
        <Isolated>False</Isolated>
    </COMReference>
</ItemGroup>

但是随后该项目无法构建,并出现以下错误:

error CS0246: The type or namespace name 'MYDLLLib' could not be found (are you missing a using directive or an assembly reference?)

有什么方法可以完成此任务而无需事先使用TlbImp创建我的所有COM引用?

如果答案是肯定的,除了主要版本和次要版本以外,还有其他方法可以指定内部版本号吗? (例如1.2.42.0)


该Guid指的是TypeLib的Guid,而不是DLL。 版本号是指TypeLib的版本,而不是DLL。

版本号将来自您的idl文件,我相信它仅支持主要版本和次要版本,而不支持构建版本。 修改typelib时,此版本会更改吗?

版本号将出现在注册表下:

1
HKEY_CLASSES_ROOT\\Typelib\\{typelib uuid}\\Major.Minor

如果次要版本设置为0,那么我相信它将导入与主版本匹配的"最新"版本,但是必须将主版本设置为某些版本。


推荐阅读

    16天的最新的内存引用:4gb上涨10元

    16天的最新的内存引用:4gb上涨10元,,内存价格上涨到4GB 10元 在今天中关村的现货市场,内存价格总体呈发展趋势,但它是小的。内存市场昨日下

    wps如何生成引用

    wps如何生成引用,WPS教程,1.wps怎么添加引用文献wps添加引用文献:1、打开文档,点击WPS文字右侧下拉菜单。2、打开插入>引用>脚注与尾注3、选

    vue项目一些常见问题

    vue项目一些常见问题,组件,样式,**样式污染问题**同样的样式不需要在每个组件都复制组件内单独的样式加外层class包裹。加scope。否则只是

    常识硬件的计算机日常维护

    常识硬件的计算机日常维护,,硬件(防尘、防高温、防磁、防潮、防静电、防震) 应将电脑放在一个干净的房间,避免灰尘太多造成的不利影响,对各种

    移动硬盘如何使用移动硬盘维护知识

    移动硬盘如何使用移动硬盘维护知识,,现在移动硬盘的广泛使用和快节奏的工作使拆迁的一部分;驱动;人,我们说不;拆除;拆除手段,在硬盘有意无意的操

    01-Vue项目实战-网易云音乐-准备工作

    01-Vue项目实战-网易云音乐-准备工作,网易,项目,前言在接下来的一段时间,我会仿照网易云音乐,利用Vue开发一个移动端的网易云音乐项目。在做

    台式电脑维护维修|台式电脑维修教程

    台式电脑维护维修|台式电脑维修教程,,1. 台式电脑维修教程一,保修没过的话送修;二,已过保修的话,一般也很难找的到会修电源的电脑店,电脑配置较

    网吧计算机维护的终极技巧

    网吧计算机维护的终极技巧,,互联网是一个基本的组装电脑,电脑配置也不错,但很多软件需要安装,互联网毕竟是维护国内计算机一般他们的爱情,最需