我想在.NET项目引用COM DLL,但我也想确保创建互操作的DLL将有正确的版本(这样的补丁会知道什么时候该DLL必须改变)。
如果我使用TlbImp
我可以指定与所需的版本/asmversion
标志,但是当我直接从Visual Studio添加它,它获取已无关,与原来的COM DLL的版本的版本。
我试图在改变版本.vcproj
文件
<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>
但后来该项目未能建立与以下错误:
错误CS0246:类型或命名空间名称“MYDLLLib”找不到(是否缺少using指令或程序集引用?)
有没有什么办法让这个不创建与我所有的COM引用做TlbImp
提前?
如果答案是肯定的有,除了主要和次要版本指定一个版本号的方法吗? (例如1.2。42 0.0)