ResolveAssemblyReference-Aufgabe

Aktualisiert: Juli 2008

Bestimmt alle Assemblys, die von den angegebenen Assemblys abhängen. Dies beinhaltet Abhängigkeiten auf zweiter und n-ter Ebene.

Parameter

In der folgenden Tabelle werden die Parameter der ResolveAssemblyReference-Aufgabe beschrieben.

Parameter

Beschreibung

AllowedAssemblyExtensions

Optionaler String[]-Parameter.

Die beim Auflösen von Verweisen zu verwendenden Dateinamenerweiterungen der Assemblys. Die Standarderweiterungen sind EXE und DLL.

AllowedRelatedFileExtensions

Optionaler String[]-Parameter.

Die für eine Suche nach zusammengehörigen Dateien zu verwendenden Dateinamenerweiterungen. Die Standarderweiterungen sind PDB und XML.

AppConfigFile

Optionaler String-Parameter.

Gibt eine app.config-Datei an, aus der bindingRedirect-Zuordnungen analysiert und extrahiert werden sollen. Wenn dieser Parameter angegeben ist, muss der AutoUnify-Parameter den Wert false haben.

Assemblies

Optionaler ITaskItem[]-Parameter.

Gibt die Elemente an, für die vollständige Pfade und Abhängigkeiten identifiziert werden müssen. Diese Elemente haben einfache Namen wie "System" oder starke Namen wie "System, Version=2 .0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".

Die an diesen Parameter übergebenen Elemente weisen möglicherweise die folgenden optionalen Elementmetadaten auf:

  • Private: Boolean-Wert. Wenn der Wert true ist, wird das Element lokal kopiert. Der Standardwert ist true.

  • HintPath: String-Wert. Gibt den Pfad und den Dateinamen an, die als Verweis verwendet werden sollen. Dies wird verwendet, wenn {HintPathFromItem} im SearchPaths-Parameter angegeben ist. Der Standardwert ist eine leere Zeichenfolge ("").

  • SpecificVersion: Boolean-Wert. Wenn der Wert true ist, dann muss der genaue im Include-Attribut angegebene Name übereinstimmen. Wenn der Wert false ist, liegt bei jeder Assembly mit dem gleichen einfachen Namen eine Übereinstimmung vor. Wenn SpecificVersion nicht angegeben ist, prüft die Aufgabe den Wert im Include-Attribut des Elements. Wenn das Attribut ein einfacher Name ist, verhält es sich, als ob SpecificVersionfalse wäre. Wenn das Attribut ein starker Name ist, verhält es sich, als ob SpecificVersiontrue wäre.

  • ExecutableExtension: String-Wert. Wenn vorhanden, muss die aufgelöste Assembly über diese Erweiterung verfügen. Wenn nicht vorhanden, wird bei jedem überprüften Verzeichnis zunächst die DLL-Erweiterung und anschließend die EXE-Erweiterung geprüft.

  • SubType: String-Wert. Nur Elemente mit leeren SubType-Metadaten werden in vollständige Assemblypfade aufgelöst. Elemente mit nicht leeren SubType-Metadaten werden ignoriert.

  • AssemblyFolderKey: String-Wert. Diese Metadaten werden für Legacyzwecke unterstützt. Sie geben einen benutzerdefinierten Registrierungsschlüssel an, z. B. "hklm \VendorFolder", den Assemblies verwenden sollten, um Assemblyverweise aufzulösen.

AssemblyFiles

Optionaler ITaskItem[]-Parameter.

Gibt eine Liste vollqualifizierter Assemblys für die Suche nach den entsprechenden Abhängigkeiten an.

Die an diesen Parameter übergebenen Elemente weisen möglicherweise die folgenden optionalen Elementmetadaten auf:

  • Private: ein optionaler Boolean-Wert. Wenn true, wird das Element lokal kopiert.

  • FusionName: optionale String-Metadaten. Gibt den einfachen oder starken Namen für dieses Element an. Wenn dieses Attribut vorhanden ist, führt dies zu Zeiteinsparungen, da die Assemblydatei zum Abrufen des Namens nicht geöffnet werden muss.

AutoUnify

Optionaler Boolean-Parameter.

Wenn true, wird das entsprechende Abhängigkeitsdiagramm automatisch so verarbeitet, als ob eine App.Config-Datei an den AppConfigFile-Parameter übergeben wird. Diese virtuelle App.Config-Datei verfügt über einen bindingRedirect-Eintrag für jede einen Konflikt verursachende Assemblygruppe, sodass jeweils die Assembly mit der höchsten Version ausgewählt wird. Daraus folgt, dass nie eine Warnmeldung über in Konflikt stehende Assemblys ausgegeben wird, da jeder Konflikt bereits gelöst wurde. Jede Neuzuordnung führt zu einem Kommentar höchster Priorität mit Angaben zur alten und neuen Version. Die Zuordnung erfolgt automatisch, da AutoUnifytrue ist.

Wenn false, wird keine automatische Neuzuordnung der Assemblyversion ausgeführt. Wenn zwei Versionen einer Assembly vorliegen, wird eine Warnmeldung ausgegeben. Jeder klare Konflikt zwischen verschiedenen Versionen der gleichen Assembly führt zu einem Kommentar höchster Priorität. Nach der Anzeige aller Kommentare wird eine Warnmeldung mit einem eindeutigen Fehlercode und dem Text "Konflikte zwischen verschiedenen Versionen der Referenzassembly und abhängigen Assembly wurden gefunden" ausgegeben.

Der Standardwert ist false.

CandidateAssemblyFiles

Optionaler String[]-Parameter.

Gibt eine Liste der für den Such- und Auflösungsprozess zu verwendenden Assemblys an. Die an diesen Parameter übergebenen Werte müssen absolute oder projektspezifische Dateinamen sein.

Assemblys in dieser Liste werden berücksichtigt, wenn der SearchPaths-Parameter {CandidateAssemblyFiles} als einen zu berücksichtigenden Pfad enthält.

CopyLocalFiles

Optionaler schreibgeschützter ITaskItem[]-Ausgabeparameter.

Gibt jede Datei in den Parametern ResolvedFiles, ResolvedDependencyFiles, RelatedFiles, SatelliteFiles und ScatterFiles zurück, die über CopyLocal-Elementmetadaten mit dem Wert true verfügt.

FilesWritten

Optionaler ITaskItem[]-Ausgabeparameter.

Enthält die auf den Datenträger geschriebenen Elemente.

FindDependencies

Optionaler Boolean-Parameter.

Wenn true, werden Abhängigkeiten gefunden. Andernfalls werden nur Primärverweise gefunden. Der Standardwert ist true.

FindRelatedFiles

Optionaler Boolean-Parameter.

Wenn true, werden verwandte Dateien gefunden, z. B. PDB-Dateien und XML-Dateien. Der Standardwert ist true.

FindSatellites

Optionaler Boolean-Parameter.

Wenn true, werden Satellitenassemblys gefunden. Der Standardwert ist true..

FindSerializationAssemblies

Optionaler Boolean-Parameter.

Wenn der Wert true ist, dann sucht die Aufgabe nach Serialisierungsassemblys. Der Standardwert ist true.

FullTargetFrameworkSubsetNames

Optionaler String[]-Parameter.

Enthält eine Liste mit Teilmengennamen für das Zielframework. Wenn ein Teilmengenname aus der Liste mit einem in der TargetFrameworkSubset-Namenseigenschaft übereinstimmt, schließt das System diese Zielframework-Teilmenge zur Buildzeit aus.

IgnoreDefaultInstalledAssemblyTables

Optionaler Boolean-Parameter.

Wenn der Wert true ist, sucht die Aufgabe nach zusätzlichen installierten Assemblytabellen (oder "REDIST-Listen"), die im \RedistList-Verzeichnis unter TargetFrameworkDirectories gefunden werden, und verwendet diese. Der Standardwert ist false.

IgnoreDefaultInstalledAssemblySubsetTables

Optionaler Boolean-Parameter.

Wenn der Wert true ist, sucht die Aufgabe nach zusätzlichen installierten Assemblyteilmengentabellen (oder "Teilmengenlisten"), die im \SubsetList-Verzeichnis unter TargetFrameworkDirectories gefunden werden, und verwendet diese. Der Standardwert ist false.

InstalledAssemblySubsetTables

Optionaler ITaskItem[]-Parameter.

Enthält eine Liste mit XML-Dateien, die die Assemblys angeben, die sich in der Zielteilmenge befinden sollten.

Als Option können Elemente in dieser Liste die "FrameworkDirectory"-Metadaten angeben, um eine InstalledAssemblySubsetTable

einem bestimmten Frameworkverzeichnis zuzuordnen.

Wenn nur ein TargetFrameworkDirectories-Element vorhanden ist, werden alle Elemente in dieser Liste, die nicht über die "FrameworkDirectory"-Metadaten verfügen, so behandelt, als seien sie auf den eindeutigen Wert festgelegt, der an TargetFrameworkDirectories übergeben wird.

InstalledAssemblyTables

Optionaler String-Parameter.

Enthält eine Liste mit XML-Dateien, die die Assemblys angeben, die auf dem Zielcomputer installiert werden sollten.

Wenn InstalledAssemblyTables festgelegt ist, werden frühere Versionen der Assemblys in der Liste in neuere Versionen zusammengeführt, die in der XML aufgelistet werden. Außerdem gelten Assemblys mit der Einstellung InGAC='true' als Voraussetzungen und werden auf CopyLocal='false' festgelegt, sofern dies nicht ausdrücklich überschrieben wird.

Als Option können Elemente in dieser Liste die "FrameworkDirectory"-Metadaten angeben, um eine InstalledAssemblyTable einem bestimmten Frameworkverzeichnis zuzuordnen. Diese Einstellung wird jedoch ignoriert, es sei denn, der Redist-Name beginnt mit

"Microsoft-Windows-CLRCoreComp".

Wenn nur ein TargetFrameworkDirectories-Element vorhanden ist, werden alle Elemente in dieser Liste, die nicht über die "FrameworkDirectory"-Metadaten verfügen, so behandelt, als seien sie auf den eindeutigen Wert festgelegt, der

an TargetFrameworkDirectories übergeben wird.

RelatedFiles

Optionaler schreibgeschützter ITaskItem[]-Ausgabeparameter.

Enthält verwandte Dateien, z. B. XML-Dateien und PDB-Dateien mit dem gleichen Basisnamen als Verweis.

Die in diesem Parameter aufgelisteten Dateien können die folgenden Elementmetadaten enthalten (optional):

  • Primary: Boolean-Wert. Wenn der Wert true ist, dann wurde das Dateielement mit dem Assemblies-Parameter in das Array übergeben. Der Standardwert lautet false.

  • CopyLocal: Boolean-Wert. Gibt an, ob der angegebene Verweis in das Ausgabeverzeichnis kopiert werden soll.

ResolvedDependencyFiles

Optionaler schreibgeschützter ITaskItem[]-Ausgabeparameter.

Enthält die Pfade der n-ten Ebene für Abhängigkeiten. Dieser Parameter umfasst keine Primärverweise der ersten Ebene, die im ResolvedFiles-Parameter enthalten sind.

Die Elemente in diesem Parameter können die folgenden Elementmetadaten enthalten (optional):

  • CopyLocal: Boolean-Wert. Gibt an, ob der angegebene Verweis in das Ausgabeverzeichnis kopiert werden soll.

  • FusionName: String-Wert. Gibt den Namen für diese Abhängigkeit an.

  • ResolvedFrom: String-Wert. Gibt den literalen Suchpfad an, aus dem die Datei aufgelöst wurde.

ResolvedFiles

Optionaler schreibgeschützter ITaskItem[]-Ausgabeparameter.

Enthält eine Liste aller in vollständige Pfade aufgelöste Primärverweise.

Die Elemente in diesem Parameter können die folgenden Elementmetadaten enthalten (optional):

  • CopyLocal: Boolean-Wert. Gibt an, ob der angegebene Verweis in das Ausgabeverzeichnis kopiert werden soll.

  • FusionName: String-Wert. Gibt den Namen für diese Abhängigkeit an.

  • ResolvedFrom: String-Wert. Gibt den literalen Suchpfad an, aus dem die Datei aufgelöst wurde.

SatelliteFiles

Optionaler schreibgeschützter ITaskItem[]-Ausgabeparameter.

Gibt alle gefundenen Satellitendateien an. Die Dateien sind CopyLocal=true, wenn der Verweis oder die Abhängigkeit für das Vorhandensein des Elements CopyLocal=true ist.

Die Elemente in diesem Parameter können die folgenden Elementmetadaten enthalten (optional):

  • CopyLocal: Boolean-Wert. Gibt an, ob der angegebene Verweis in das Ausgabeverzeichnis kopiert werden soll. Dieser Wert ist true, wenn der Verweis oder die Abhängigkeit für das Vorhandensein des Elements den Wert true für CopyLocal aufweist.

  • DestinationSubDirectory: String-Wert. Gibt das relative Zielverzeichnis an, in das das Element kopiert werden soll.

ScatterFiles

Optionaler schreibgeschützter ITaskItem[]-Ausgabeparameter.

Enthält die einer der angegebenen Assemblys zugeordneten Scatter-Dateien.

Die Elemente in diesem Parameter können die folgenden Elementmetadaten enthalten (optional):

  • CopyLocal: Boolean-Wert. Gibt an, ob der angegebene Verweis in das Ausgabeverzeichnis kopiert werden soll.

SearchPaths

Erforderlicher String[]-Parameter.

Gibt die Verzeichnisse oder speziellen Speicherorte an, die zum Suchen der Dateien zur Assemblydarstellung auf dem Datenträger durchsucht werden. Die Reihenfolge, in der die Suchpfade aufgeführt sind, ist wichtig. Bei jeder Assembly wird die Liste der Pfade von links nach rechts durchsucht. Wenn eine Datei, die die Assembly darstellt, gefunden wird, wird die entsprechende Suche beendet und die Suche für die nächste Assembly gestartet.

Für diesen Parameter können die folgenden Werttypen angegeben werden:

  • Ein Verzeichnispfad.

  • {HintPathFromItem}: Gibt an, dass die Aufgabe die HintPath-Metadaten des Basiselements überprüft.

  • {CandidateAssemblyFiles}: Gibt an, dass die Aufgabe die mit dem CandidateAssemblyFiles-Parameter übergebenen Dateien überprüft.

  • {Registry:_AssemblyFoldersBase_, _RuntimeVersion_, _AssemblyFoldersSuffix_}:

  • {AssemblyFolders}: Gibt die Aufgabe an, die das Schema von Visual Studio .NET 2003 zum Suchen von Assemblys in der Registrierung verwendet.

  • {GAC }: Gibt die Aufgabe an, die den GAC durchsucht.

  • {RawFileName}: Gibt die Aufgabe an, die den Include-Wert des Elements als exakten Pfad- und Dateinamen berücksichtigt.

Silent

Optionaler Boolean-Parameter.

Wenn true, werden keine Meldungen protokolliert. Der Standardwert ist false.

StateFile

Optionaler String-Parameter.

Gibt einen Dateinamen an, mit dem festgelegt wird, an welchem Speicherort der Zwischenbuild für die Aufgabe gespeichert werden soll.

SuggestedRedirects

Optionaler schreibgeschützter ITaskItem[]-Ausgabeparameter.

Enthält ein Element für jede in Konflikt stehende Assemblyidentität, unabhängig vom Wert des AutoUnify-Parameters. Dazu gehören jede Kultur und PKT, die zwar gefunden wurden, jedoch in der Konfigurationsdatei der Anwendung über keinen entsprechenden bindingRedirect-Eintrag verfügen.

Jedes Element kann die folgenden Informationen enthalten (optional):

  • Include-Attribut: Enthält den vollständigen Namen der Assemblyfamilie mit dem Versionsfeldwert 0.0.0.0

  • MaxVersion-Elementmetadaten: Enthält die höchste Versionsnummer.

TargetFrameworkDirectories

Optionaler String[]-Parameter.

Gibt den Pfad für das Zielframework-Verzeichnis an. Dieser Parameter muss zum Ermitteln des CopyLocal-Status für die resultierenden Elemente angegeben werden.

Wenn dieser Parameter nicht angegeben ist, weisen die resultierenden Elemente nur dann den Wert true für CopyLocal auf, wenn explizit der Private-Metadatenwert true für das zugehörige Quellelement festgelegt wurde.

TargetFrameworkSubsets

Optionaler String[]-Parameter.

Enthält eine Liste der Namen für die Zielframework-Teilmenge, nach der in den Zielframework-Verzeichnissen gesucht werden soll.

TargetFrameworkVersion

Optionaler String-Parameter.

Die Zielframeworkversion für das Projekt. Der Standardwert ist leer, d. h. die Referenzen werden nicht anhand des Zielframeworks gefiltert.

TargetProcessorArchitecture

Optionaler String-Parameter.

Die bevorzugte Architektur des Zielprozessors. Wird zum Auflösen von Verweisen auf den globalen Assemblycache (GAC) verwendet.

Dieser Parameter kann den Wert x86, IA64 oder AMD64 aufweisen.

Wenn dieser Parameter nicht vorhanden ist, berücksichtigt die Aufgabe zuerst Assemblys, die der Architektur des derzeit ausgeführten Prozesses entsprechen. Wenn keine Assembly gefunden wird, berücksichtigt die Aufgabe Assemblys im GAC, die den ProcessorArchitecture-Wert MSIL oder keinen ProcessorArchitecture-Wert aufweisen.

Siehe auch

Konzepte

MSBuild-Aufgaben

Weitere Ressourcen

Referenz zu MSBuild-Aufgaben

Änderungsverlauf

Date

Versionsgeschichte

Grund

Juli 2008

Hinzugefügte Parameter:

  • AllowedAssemblyExtensions

  • AllowedRelatedFileExtensions

  • FindSerializationAssemblies

  • FullTargetFrameworkSubsetNames

  • IgnoreDefaultInstalledAssemblyTables

  • IgnoreDefaultInstalledAssemblySubsetTables

  • InstalledAssemblySubsetTables

  • InstalledAssemblyTables

  • TargetFrameworkSubsets

  • TargetFrameworkVersion

SP1-Featureänderung.