Freigeben über


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:

  • 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.

    Bei Verwendung mit einem Verweiselementtyp muss das Include-Attribut der volle Fusionsname der aufzulösenden Assembly sein.Die Assembly wird nur aufgelöst, wenn Fusion genau dem Include-Attribut entspricht.

    Wenn ein Projekt auf eine .NET Framework-Version abzielt und auf eine Assembly verweist, die für eine höhere .NET Framework-Version kompiliert wurde, wird der Verweis nur aufgelöst, wenn für ihn SpecificVersion auf true festgelegt ist.

    Wenn ein Projekt auf ein Profil abzielt und auf eine Assembly verweist, die nicht im Profil ist, wird der Verweis nur aufgelöst, wenn für ihn SpecificVersion auf true festgelegt ist.

  • 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.

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.

  • Gibt den Namen des Zielframeworkprofils an.Beispielsweise Client, Web oder Netzwerk.

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.

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):

  • 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.

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.

Siehe auch

Konzepte

MSBuild-Aufgaben

Weitere Ressourcen

Referenz zu MSBuild-Aufgaben