Ich möchte eine COM-DLL in einem .NET-Projekt referenzieren, aber ich möchte auch sicherstellen, dass die erstellte Interop-DLL die richtige Version hat (so dass Patches wissen, wenn die DLL geändert werden muss).
Wenn ich die TlbImp
Ich kann die gewünschte Version mit der Option /asmversion
Flag, aber wenn ich es direkt von Visual Studio hinzufügen, erhält es eine Version, die nichts mit der Version der ursprünglichen COM-DLL zu tun hat.
Ich habe versucht, die Version in der .vcproj
Datei
<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>
Aber dann wurde das Projekt mit der folgenden Fehlermeldung nicht erstellt:
Fehler CS0246: Der Typ- oder Namespace-Name 'MYDLLLib' konnte nicht gefunden werden (fehlt eine using-Anweisung oder ein Assembly-Verweis?)
Gibt es eine Möglichkeit, dies zu erreichen, ohne alle meine COM-Referenzen mit TlbImp
im Voraus?
Wenn die Antwort lautet ja Gibt es eine Möglichkeit, zusätzlich zu den Haupt- und Unterversionen eine Build-Nummer anzugeben? (z.B. 1.2. 42 .0)