ResolveAssemblyReference-Aufgabe
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. |
AutoUnify |
Optionaler Boolean-Parameter. Dieser Parameter dient zum Erstellen von Assemblys, z. B. DLLs, die keine normale Datei App.Config besitzen können. Beim Wert 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. Wenn true, führt jede unterschiedliche Neuzuordnung zu einem Kommentar mit hoher Priorität, der die alten und neuen Versionen und führt war das AutoUnify zeigt, das true war. Wenn true, muss der AppConfigFile-Parameter leer sein Beim Wert false wird keine automatische Neuzuordnung der Assemblyversion ausgeführt. Wenn zwei Versionen einer Assembly vorhanden sind, wird eine Warnung ausgegeben. Beim Wert false führt jeder eindeutige Konflikt zwischen verschiedenen Versionen der gleichen Assembly zu einem Kommentar höchster Priorität. Auf diese Kommentare folgt eine einzelne Warnung. Die Warnung hat einen eindeutigen Fehlercode und enthält Text, der sich in etwa so liest: "Konflikte zwischen verschiedenen Versionen von Verweis- und abhängigen Assemblys gefunden". |
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:
|
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:
|
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 AutoUnify true 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. |
CopyLocalDependenciesWhenParentReferenceInGac |
Optionaler [Boolean]-Parameter. Beim Wert true wird, um zu ermitteln, ob eine Abhängigkeit lokal kopiert werden soll, überprüft, ob für den übergeordneten Verweis in der Projektdatei die Private-Metadaten festgelegt wurden oder nicht. Wenn festgelegt, dann wird der private Wert als Abhängigkeit verwendet. Wenn die Metadaten nicht festgelegt wurden, durchläuft die Abhängigkeit die gleichen Überprüfungen wie der übergeordnete Verweis. Mit einer dieser Überprüfungen wird ermittelt, ob sich der Verweis im GAC befindet. Wenn sich ein Verweis im GAC befindet, ist dann wird er nicht lokal kopiert, da davon ausgegangen wird, dass er im GAC auf dem Zielcomputer ist. Dies gilt nur für einen bestimmten Verweis und nicht für seine Abhängigkeiten. Beispielsweise wird ein Verweis in der Projektdatei, die sich im GAC befindet, nicht lokal kopiert, aber seine Abhängigkeiten werden lokal kopiert, da sie nicht im GAC befinden. Wenn false, werden Projektdateiverweise überprüft, um zu sehen, ob sie im GAC sind, und ggf. lokal kopiert. Abhängigkeiten werden überprüft, um festzustellen, ob sie sich im GAC befinden und werden auch überprüft, um zu sehen, ob sich der übergeordneten Verweis aus der Projektdatei im GAC befindet. Wenn der übergeordnete Verweis aus der Projektdatei sich im GAC befindet, wird die Abhängigkeit nicht lokal kopiert. Ob dieser Parameter nun true oder false ist – wenn es mehrere übergeordnete Verweise da sind und einer von ihnen nicht im GAC ist, dann werden alle lokal kopiert. |
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. Standardwert: true. |
FindSerializationAssemblies |
Optionaler Boolean-Parameter. Wenn der Wert true ist, dann sucht die Aufgabe nach Serialisierungsassemblys. Der Standardwert ist true. |
FullFrameworkAssemblyTables |
Optionaler ITaskItem[] -Parameter. Gibt Elemente an, die über "FrameworkDirectory"-Metadaten verfügen, um eine REDIST-Liste einem bestimmten Framework-Verzeichnis zuzuordnen. Wenn die Zuordnung nicht erstellt wird, wird ein Fehler protokolliert. Die RAR-Logik (Resolve Assembly Reference) verwendet das Verzeichnis des Zielframeworks, wenn kein FrameworkDirectory festgelegt ist. |
FullFrameworkFolders |
Optionaler [String][] -Parameter. Gibt den Satz von Ordnern an, die ein RedistList-Verzeichnis enthalten. Dieses Verzeichnis stellt die vollständigen Frameworks für ein bestimmtes Clientprofil dar, z. B. %programfiles%\reference assemblies\microsoft\framework\v4.0. |
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. Standardwert: 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. Standardwert: 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. |
LatestTargetFrameworkDirectories |
Optionaler String[]-Parameter. Gibt eine Liste der Verzeichnisse zurück, die die redist-Listen für das aktuelle Framework enthalten, auf das auf dem Computer abgezielt werden kann. Wenn dies nicht festgelegt wird, wird das höchste auf dem Computer installierte Framework für einen angegebenen Zielframeworkbezeichner verwendet. |
ProfileName |
Optionaler [String]-Parameter.
|
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):
|
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):
|
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):
|
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):
|
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):
|
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:
|
SerializationAssemblyFiles |
Optionaler schreibgeschützter ITaskItem[]-Ausgabeparameter. Enthält alle gefundenen XML-Serialisierungsassemblys. Diese Elemente sind markiert mit CopyLocal=true, wenn und nur wenn der Verweis oder die Abhängigkeit, die die Existenz dieses Elements verursacht, CopyLocal=true ist. Der Boolean-Metadatenwert CopyLocal gibt an, ob der angegebene Verweis in das Ausgabeverzeichnis kopiert werden soll. |
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):
|
TargetedRuntimeVersion |
Optionaler String-Parameter. Gibt die Zielversion der Laufzeit an, z. B. 2.0.57027 oder v2.0.57027. |
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. |
TargetFrameworkMoniker |
Optionaler String-Parameter. Der zu überwachende TargetFrameworkMoniker, falls vorhanden. Dies wird für die Protokollierung verwendet. |
TargetFrameworkMonikerDisplayName |
Optionaler String-Parameter. Der Anzeigename des TargetFrameworkMoniker, der überwacht werden soll, falls vorhanden. Dies wird für die Protokollierung verwendet. |
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. |
Hinweise
Zusätzlich zu den oben aufgeführten Parametern erbt diese Aufgabe Parameter von der TaskExtension-Klasse, die selbst von der Task-Klasse erbt. Eine Liste mit diesen zusätzlichen Parametern und ihren Beschreibungen finden Sie unter TaskExtension-Basisklasse.