ResolveComReference-Aufgabe
Akzeptiert eine Liste aus mindestens einem Typbibliotheksnamen oder mindestens einer TLB-Datei und löst diese Bibliotheken an Speicherorten auf Datenträgern auf.
Parameter
In der folgenden Tabelle werden die Parameter der ResolveCOMReference
-Aufgabe beschrieben.
Parameter | Beschreibung |
---|---|
DelaySign |
Optionaler Boolean -Parameter.Legt den öffentlichen Schlüssel in der Assembly ab, wenn der Wert true ist Signiert die Assembly vollständig, wenn der Wert false ist |
EnvironmentVariables |
Optionaler String[] -Parameter.Ein Array von Paaren von Umgebungsvariablen; durch Gleichheitszeichen getrennt. Diese Variablen werden an die erstellten tlbimp.exe und aximp.exe zusätzlich zum regulären Umgebungsblock oder zum ausgewählten Überschreiben übergeben. |
ExecuteAsTool |
Optionaler Boolean -Parameter.Wenn true , werden tlbimp.exe und aximp.exe von dem entsprechenden Zielframework aus prozessextern ausgeführt, um die erforderlichen Wrapperassemblys zu generieren. Dieser Parameter ermöglicht Multi-Targeting. |
IncludeVersionInInteropName |
Optionaler Boolean -Parameter.Die typelib-Version enthält den Wrappernamen, wenn der Wert true ist. Der Standardwert ist false . |
KeyContainer |
Optionaler String -Parameter.Gibt einen Container an, der ein öffentliches/privates Schlüsselpaar enthält. |
KeyFile |
Optionaler String -Parameter.Gibt ein Element an, das ein öffentliches/privates Schlüsselpaar enthält. |
NoClassMembers |
Optionaler Boolean -Parameter. |
ResolvedAssemblyReferences |
Optionaler ITaskItem[] -Ausgabeparameter.Gibt die aufgelösten Assemblyverweise an |
ResolvedFiles |
Optionaler ITaskItem[] -Ausgabeparameter.Gibt die vollqualifizierten Dateien auf Datenträger an, die den physischen Speicherorten der Typbibliotheken entsprechen, die für diesen Task als Eingabe bereitgestellt wurden. |
ResolvedModules |
Optionaler ITaskItem[] Parameter. |
SdkToolsPath |
Optionaler System.String-Parameter. Wenn ExecuteAsTool true ist, muss dieser Parameter auf den Pfad der SDK-Tools für die Zielframeworkversion festgelegt werden. |
StateFile |
Optionaler String -Parameter.Gibt die Cachedatei für die Zeitstempel von COM-Komponenten an. Falls nicht vorhanden, erstellt jede Ausführung alle Wrapper neu. |
TargetFrameworkVersion |
Optionaler String -Parameter.Gibt die Zielframeworkversion des Projekts an. Der Standardwert ist String.Empty . Was bedeutet, dass nicht nach einem Verweis auf Grundlage des Zielframeworks gefiltert werden kann. |
TargetProcessorArchitecture |
Optionaler String -Parameter.Gibt die bevorzugte Zielprozessorarchitektur an. Wird nach der Übersetzung an das Flag tlbimp.exe/machine übergeben. Der Parameterwert sollte ein Member des Typs ProcessorArchitecture sein. |
TypeLibFiles |
Optionaler ITaskItem[] -ParameterGibt den Typbibliothek-Dateipfad zu COM-Verweisen an. In diesem Parameter enthaltene Elemente können Elementmetadaten enthalten. Weitere Informationen finden Sie im Abschnitt TypeLibFiles-Elementmetadaten weiter unten. |
TypeLibNames |
Optionaler ITaskItem[] -ParameterGibt die aufzulösenden Typbibliotheksnamen an. In diesem Parameter enthaltene Elemente müssen einige Elementmetadaten enthalten. Weitere Informationen finden Sie im Abschnitt TypeLibNames-Elementmetadaten weiter unten. |
WrapperOutputDirectory |
Optionaler String -Parameter.Der Speicherort auf dem Datenträger für die generierte Interop-Assembly. Wenn diese Elementmetadaten nicht angegeben werden, verwendet der Task den absoluten Pfad des Verzeichnisses, in dem sich die Projektdatei befindet. |
TypeLibNames-Elementmetadaten
In der folgenden Tabelle werden die Elementmetadaten beschrieben, die für an den TypeLibNames
-Parameter übergebene Elemente zur Verfügung stehen.
Metadaten | Beschreibung |
---|---|
GUID |
Erforderliche Elementmetadaten Die GUID für die Typbibliothek. Wenn diese Elementmetadaten nicht festgelegt sind, schlägt der Task fehl. |
VersionMajor |
Erforderliche Elementmetadaten Die Hauptversion der Typbibliothek Wenn diese Elementmetadaten nicht festgelegt sind, schlägt der Task fehl. |
VersionMinor |
Erforderliche Elementmetadaten Die Nebenversion der Typbibliothek Wenn diese Elementmetadaten nicht festgelegt sind, schlägt der Task fehl. |
EmbedInteropTypes |
Optional Boolean -Metadaten.Bei true betten Sie die Interop-Typen aus diesem Verweis direkt in Ihre Assembly ein, anstatt eine Interop-DLL zu generieren. |
LocaleIdentifier |
Optionale Elementmetadaten Der Gebietsschemabezeichner (oder LCID) für die Typbibliothek Dieser wird als 32-Bit-Wert angegeben, der die Sprache identifiziert, die von einem Benutzer, einer Region oder eine Anwendung bevorzugt wird. Wenn diese Elementmetadaten nicht festgelegt sind, verwendet der Task den Standard-Gebietsschemabezeichner „0“ (null). |
WrapperTool |
Optionale Elementmetadaten Gibt das Wrappertool an, das verwendet wird, um den Assemblywrapper für diese Typbibliothek zu generieren. Wenn diese Elementmetadaten nicht festgelegt sind, verwendet der Task das Standardwrappertool „tlbimp“. Die verfügbaren Optionen von Typbibliotheken, die die Groß-/Kleinschreibung nicht beachten, sind: - Primary : Verwenden Sie dieses Wrappertool, wenn Sie eine bereits generierte primäre Interopassembly für die COM-Komponente verwenden möchten. Wenn Sie dieses Wrappertool verwenden, geben Sie kein Wrapperausgabeverzeichnis an, weil der Task ansonsten fehlschlägt.- TLBImp : Verwenden Sie dieses Wrappertoll, wenn Sie eine Interopassembly für die COM-Komponente generieren möchten.- PrimaryOrTLBImp : Verwenden Sie dieses Wrappertool, wenn Sie nicht sicher sind, ob Primary oder TLBImp geeignet ist. Erst wird die Primary -Logik und dann TLBImp angewendet.- AXImp : Verwenden Sie dieses Wrappertoll, wenn Sie eine Interopassembly für ein ActiveX-Steuerelement generieren möchten. |
TypeLibFiles-Elementmetadaten
In der folgenden Tabelle werden die Elementmetadaten beschrieben, die für an den TypeLibFiles
-Parameter übergebene Elemente zur Verfügung stehen.
Metadaten | Beschreibung |
---|---|
EmbedInteropTypes |
Optionaler Boolean -ParameterBei true betten Sie die Interop-Typen aus diesem Verweis direkt in Ihre Assembly ein, anstatt eine Interop-DLL zu generieren. |
WrapperTool |
Optionale Elementmetadaten Gibt das Wrappertool an, das verwendet wird, um den Assemblywrapper für diese Typbibliothek zu generieren. Wenn diese Elementmetadaten nicht festgelegt sind, verwendet der Task das Standardwrappertool „tlbimp“. Die verfügbaren Optionen von Typbibliotheken, die die Groß-/Kleinschreibung nicht beachten, sind: - Primary : Verwenden Sie dieses Wrappertool, wenn Sie eine bereits generierte primäre Interopassembly für die COM-Komponente verwenden möchten. Wenn Sie dieses Wrappertool verwenden, geben Sie kein Wrapperausgabeverzeichnis an, weil der Task ansonsten fehlschlägt.- TLBImp : Verwenden Sie dieses Wrappertoll, wenn Sie eine Interopassembly für die COM-Komponente generieren möchten.- AXImp : Verwenden Sie dieses Wrappertoll, wenn Sie eine Interopassembly für ein ActiveX-Steuerelement generieren möchten. |
Hinweis
Je mehr Informationen Sie zur Verfügung stellen, um eine Typbibliothek eindeutig identifizieren zu können, desto wahrscheinlicher ist es, dass der Task in die korrekten Dateien auf dem Datenträger auflöst.
Hinweise
Zusätzlich zu den oben aufgeführten Parametern erbt diese Aufgabe Parameter von der Task-Klasse. Eine Liste mit diesen zusätzlichen Parametern und ihren Beschreibungen finden Sie unter Taskbasisklasse.
Die COM-DLL muss nicht auf dem Computer registriert werden, damit diese Aufgabe funktioniert.
Fehler MSB4803
Wenn Sie versuchen, ein Projekt auszuführen, das die Aufgabe ResolveCOMReference
aus den dotnet
-Befehlen der CLI verwendet, erhalten Sie den Fehler:
MSB4803: The task "ResolveComReference" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild.
Diese Aufgabe wird in der .NET Core-Version von MSBuild nicht unterstützt, die verwendet wird, wenn Sie den Befehl dotnet build
über die Befehlszeile ausführen. Versuchen Sie, das Projekt zu erstellen, indem Sie MSBuild.exe an der Developer-Eingabeaufforderung von Visual Studio aufrufen, da diese die .NET Framework-Version von MSBuild verwendet.