2 Stimmen

Beibehaltung der richtigen Version für eine COM dll, auf die in einem .NET-Projekt verwiesen wird

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)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X