Sdílet prostřednictvím


ResolveAssemblyReference – úloha

Určuje všechna sestavení, která závisí na zadaných sestaveních, včetně závislostí druhého a ndruhého pořadí. Viz také Řešení chyb sestavení s odkazy na sestavení.

Parametry

Následující tabulka popisuje parametry ResolveAssemblyReference úlohy.

Parametr Popis
AllowedAssemblyExtensions Volitelný String[] parametr.

Přípony názvů souborů sestavení, které se mají použít při překladu odkazů. Výchozí přípony názvů souborů jsou exe a dll.
AllowedRelatedFileExtensions Volitelný String[] parametr.

Přípony názvů souborů, které se mají použít pro hledání souborů, které se vzájemně souvisejí. Výchozí rozšíření jsou pdb a xml.
AppConfigFile Volitelný String parametr.

Určuje soubor app.config , ze kterého se mají analyzovat a extrahovat mapování bindingRedirect. Pokud je tento parametr zadán, AutoUnify musí být falseparametr .
Assemblies Volitelný ITaskItem[] parametr.

Určuje položky, pro které musí být identifikovány úplné cesty a závislosti. Tyto položky můžou mít buď jednoduché názvy, jako je "Systém" nebo silné názvy jako "System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".

Položky předané tomuto parametru můžou mít volitelně následující metadata položek:

- Private: Boolean hodnota. Pokud truese položka zkopíruje místně. Výchozí hodnota je true.
- HintPath: String hodnota. Určuje cestu a název souboru, který se má použít jako odkaz. Tato metadata se používají při {HintPathFromItem} zadání v parametru SearchPaths . Výchozí hodnota je prázdný řetězec.
- SpecificVersion: Boolean hodnota. Pokud truese přesný název zadaný v atributu Include musí shodovat. Pokud false, pak jakékoli sestavení se stejným jednoduchým názvem funguje. Pokud SpecificVersion není zadána, úloha zkontroluje hodnotu v Include atributu položky. Pokud je atribut jednoduchým názvem, chová se, jako by SpecificVersion byl false. Pokud je atribut silným názvem, chová se, jako by SpecificVersion byl true.
Pokud se používá s typem referenční položky, musí být atribut úplný fúzní název sestavení, Include který se má přeložit. Sestavení je vyřešeno pouze v případě, že fúze přesně odpovídá atributu Include .
Pokud projekt cílí na verzi rozhraní .NET Framework a odkazuje na sestavení zkompilované pro vyšší verzi rozhraní .NET Framework, odkaz se přeloží pouze v případě, že je SpecificVersion nastavena na true.
Pokud projekt cílí na profil a odkazuje na sestavení, které není v profilu, odkaz se přeloží pouze v případě, že je SpecificVersion nastavena na true.
- ExecutableExtension: String hodnota. Při přítomnosti musí mít vyřešené sestavení toto rozšíření. Pokud chybí, dll považuje se za první, následuje .exe, pro každý zkoumaný adresář.
- SubType: String hodnota. Do úplných cest sestavení se přeloží pouze položky s prázdnými SubType metadaty. Položky s neprázdnými metadaty SubType se ignorují.
- AssemblyFolderKey: String hodnota. Tato metadata jsou podporována pro starší účely. Určuje uživatelsky definovaný klíč registru, například hklm\<VendorFolder>, který Assemblies by měl použít k překladu odkazů na sestavení.
AssemblyFiles Volitelný ITaskItem[] parametr.

Určuje seznam plně kvalifikovanýchsestaveních

Položky předané tomuto parametru můžou mít volitelně následující metadata položek:

- Private: volitelná Boolean hodnota. Pokud je hodnota true, položka se zkopíruje místně.
- FusionName: Volitelná String metadata. Určuje jednoduchý nebo silný název této položky. Pokud je tento atribut k dispozici, může ušetřit čas, protože soubor sestavení nemusí být otevřen, aby získal název.
AssemblyInformationCacheOutputPath Volitelný String parametr.

Pokud není null, serializuje strojově nezávislé informace o vstupech AssemblyFiles do pojmenovaného souboru. Toto nastavení přepíše obvyklou mezipaměť, takže toto nastavení použijte jenom v případě, že vytváříte sadu SDK s mnoha odkazy a chcete ji odeslat zákazníkům.
AssemblyInformationCachePaths Volitelný ITaskItem parametr.

Pokud není null, použije tuto sadu mezipamětí jako vstupy, pokud NÁSTROJ MSBuild nemůže najít obvyklou mezipaměť ve složce obj. Obvykle poskytuje sada SDK ke zlepšení výkonu při prvním sestavení.
AutoUnify Volitelný Boolean parametr.

Tento parametr se používá pro sestavování sestavení, jako jsou knihovny DLL, které nemohou mít normální soubor App.Config .

Pokud truese výsledný graf závislostí automaticky považuje za soubor App.Config předaný parametru AppConfigFile. Tento virtuální soubor App.Config obsahuje položku bindingRedirect pro každou konfliktní sadu sestavení tak, aby bylo zvoleno sestavení nejvyšší verze. Následkem toho je, že nikdy nedojde k upozornění na konfliktní sestavení, protože všechny konflikty budou vyřešeny.

Když truekaždá odlišná změna mapování vede k komentáři s vysokou prioritou zobrazující staré a nové verze a to AutoUnify bylo true.

Pokud truemusí AppConfigFile být parametr prázdný.

Pokud falsenedojde k automatickému namapování žádné verze sestavení. Pokud existují dvě verze sestavení, zobrazí se upozornění.

Pokud falsemá každý odlišný konflikt mezi různými verzemi stejného sestavení za následek komentář s vysokou prioritou. Za těmito komentáři následuje jedno upozornění. Upozornění obsahuje jedinečný kód chyby, který obsahuje text "Nalezené konflikty mezi různými verzemi odkazů a závislými sestaveními".

Výchozí hodnota je false.
CandidateAssemblyFiles Volitelný String[] parametr.

Určuje seznam sestavení,kterách Hodnoty předané tomuto parametru musí být absolutní názvy souborů nebo názvy souborů relativních k projektu.

Sestavení v tomto seznamu jsou považována za jednu z cest, které je potřeba vzít v úvahu, pokud SearchPaths parametr obsahuje {CandidateAssemblyFiles}.
CopyLocalDependenciesWhenParentReferenceInGac Volitelný Boolean parametr.

Pokud je pravda, pokud chcete zjistit, jestli se má závislost zkopírovat místně, jedním z provedených kontrol je zjistit, jestli nadřazený odkaz v souboru projektu obsahuje sadu privátních metadat. Pokud je nastavená hodnota Private, použije se jako závislost.

Pokud metadata nejsou nastavena, závislost prochází stejnými kontrolami jako nadřazený odkaz. Jednou z těchto kontrol je zjistit, jestli je odkaz v GAC. Pokud je odkaz v GAC, místně se nezkopíruje, protože se předpokládá, že se nachází v GAC na cílovém počítači. Týká se to pouze určitého odkazu, nikoli jeho závislostí.

Například odkaz v souboru projektu, který je v GAC, se nekopíruje místně, ale jeho závislosti se zkopírují místně, protože nejsou v GAC.

Pokud je false, zkontrolují se odkazy na soubor projektu, aby se zjistily, jestli jsou v GAC, a zkopírují se místně podle potřeby.

Závislosti se kontrolují, aby se zjistily, jestli jsou v GAC, a zkontrolují se také, jestli je nadřazený odkaz ze souboru projektu v GAC.

Pokud je nadřazený odkaz ze souboru projektu v GAC, závislost se nezkopíruje místně.

Bez ohledu na to, jestli je tento parametr pravdivý nebo nepravda, pokud existuje více nadřazených odkazů a některý z nich není v GAC, zkopírují se všechny místně.
CopyLocalFiles Volitelný ITaskItem[] výstupní parametr jen pro čtení.

Vrátí každý soubor v objektu , , SatelliteFiles, a ScatterFiles parametry, které mají CopyLocal metadata položky s hodnotou true. RelatedFilesResolvedDependencyFilesResolvedFiles
DependsOnNETStandard Boolean výstupní parametr.

Zda některý z vyřešených primárních odkazů závisí na .NET Standard.
DependsOnSystemRuntime Boolean výstupní parametr.

Zda některý z vyřešených primárních odkazů závisí na System.Runtime.
DoNotCopyLocalIfInGac Volitelný Boolean parametr.

Povolí starší režim pro stanovení CopyLocal. Pokud je hodnota true, odkazovaná sestavení se nebudou kopírovat místně, pokud jsou nalezena v GAC. Pokud je false, sestavení se zkopírují místně, pokud nebyla nalezena pouze v GAC. Výchozí hodnota je false.
FilesWritten Volitelný ITaskItem[] výstupní parametr.

Obsahuje položky zapsané na disk.
FindDependencies Volitelný Boolean parametr.

Pokud truejsou nalezeny závislosti. V opačném případě jsou nalezeny pouze primární odkazy. Výchozí hodnota je true.
FindDependenciesOfExternallyResolvedReferences Volitelný Boolean parametr.

Vynutit procházení závislostí i v případě, že je odkaz označen metadaty ExternallyResolved=true .
FindRelatedFiles Volitelný Boolean parametr.

Pokud truejsou nalezeny související soubory, jako pdb jsou soubory a xml soubory. Výchozí hodnota je true.
FindSatellites Volitelný Boolean parametr.

Pokud truejsou nalezena satelitní sestavení. Výchozí hodnota je true.
FindSerializationAssemblies Volitelný Boolean parametr.

Pokud trueúloha vyhledá sestavení serializace. Výchozí hodnota je true.
FullFrameworkAssemblyTables Volitelný ITaskItem[] parametr.

Určuje položky, které mají FrameworkDirectory metadata pro přidružení redist seznamu ke konkrétnímu adresáři architektury. Pokud se přidružení neprovedou, zaprotokoluje se chyba. Logika překladu odkazu na sestavení (RAR) používá adresář cílové architektury, pokud FrameworkDirectory není nastaven.
FullFrameworkFolders Volitelný System.String[] parametr.

Určuje složky, které obsahují adresář RedistList. Tento adresář představuje úplnou architekturu pro daný profil klienta, například %programfiles%\reference assemblyes\microsoft\framework\v4.0.
FullTargetFrameworkSubsetNames Volitelný String[] parametr.

Obsahuje seznam názvů podmnožina cílové architektury. Pokud se název podmnožina v seznamu shoduje s názvem vlastnosti TargetFrameworkSubset , systém v době sestavení vyloučí danou podmnožinu cílové architektury.
IgnoreDefaultInstalledAssemblyTables Volitelný Boolean parametr.

Pokud trueúloha vyhledá a použije další nainstalované tabulky sestavení (nebo "Redist Lists"), které jsou nalezeny v adresáři \RedistList v části TargetFrameworkDirectories. Výchozí hodnota je false.
IgnoreDefaultInstalledAssemblySubsetTables Volitelný Boolean parametr.

Pokud trueúloha vyhledá a použije další nainstalované tabulky podmnožin sestavení (nebo "Podmnožina seznamy"), které jsou nalezeny v adresáři \SubsetList v části TargetFrameworkDirectories. Výchozí hodnota je false.
IgnoreTargetFrameworkAttributeVersionMismatch Volitelný Boolean parametr.

Pokud trueúloha přeloží sestavení, která cílí na vyšší verzi rozhraní .NET Framework než aktuální projekt. Výchozí hodnota je false, která tyto odkazy přeskočí.
IgnoreVersionForFrameworkReferences Volitelný Boolean parametr.

Pokud je primárním odkazem sestavení architektury, ignorujte informace o jeho verzi a ve skutečnosti přeložte sestavení architektury z aktuálně cílové architektury.
InstalledAssemblySubsetTables Volitelný ITaskItem[] parametr.

Obsahuje seznam souborů XML, které určují sestavení, která mají být v cílové podmnožině.

Jako možnost můžou položky v tomto seznamu určovat FrameworkDirectory metadata, která se mají přidružit. InstalledAssemblySubsetTable

s konkrétním adresářem architektury.

Pokud existuje pouze jeden TargetFrameworkDirectories prvek, pak všechny položky v tomto seznamu, které neobsahují FrameworkDirectory" metadata, jsou považovány za nastaveny na jedinečnou hodnotu, která je předána TargetFrameworkDirectories.
InstalledAssemblyTables Volitelný String parametr.

Obsahuje seznam souborů XML, které určují sestavení, která mají být nainstalována v cílovém počítači.

Pokud InstalledAssemblyTables je nastavena, starší verze sestavení v seznamu jsou sloučeny do novějších verzí, které jsou uvedeny v XML. Sestavení s nastavením InGAC='true' jsou také považována za předpoklady a jsou nastavena na CopyLocal='false' hodnotu, pokud explicitně nepřepíšete.

Jako možnost mohou položky v tomto seznamu určovat FrameworkDirectory metadata, která se mají přidružit InstalledAssemblyTable ke konkrétnímu adresáři architektury. Toto nastavení se však ignoruje, pokud název Redist nezačíná na

Microsoft-Windows-CLRCoreComp.

Pokud existuje jenom jeden TargetFrameworkDirectories prvek, pak se všechny položky v tomto seznamu, které neobsahují FrameworkDirectory metadata, považují za nastavené na jedinečnou hodnotu, která se předá.

do TargetFrameworkDirectories.
LatestTargetFrameworkDirectories Volitelný String[] parametr.

Určuje seznam adresářů, které obsahují seznamy redist pro nejaktuálnější architekturu, na kterou je možné cílit na počítač. Pokud toto nastavení není nastavené, použije se nejvyšší architektura nainstalovaná na počítači pro daný identifikátor cílové architektury.
OutputUnresolvedAssemblyConflicts Volitelný Boolean parametr.

Pokud true, výstupy jakékoli nevyřešené sestavení koliduje s diagnostickým kódem MSB3277 do výstupu UnresolveAssemblyConflicts.
ProfileName Volitelný String parametr.

Určuje název profilu architektury, který se má cílit. Například Klient, Web nebo Síť. Relevantní pouze pro profily rozhraní .NET Framework.
RelatedFiles Volitelný ITaskItem[] výstupní parametr jen pro čtení.

Obsahuje související soubory, například XML a pdb soubory, které mají stejný základní název jako odkaz.

Soubory uvedené v tomto parametru mohou volitelně obsahovat následující metadata položky:

- Primary: Boolean hodnota. Pokud truebyla položka souboru předána do pole pomocí parametru Assemblies . Výchozí hodnota je false.
- CopyLocal: Boolean hodnota. Určuje, zda se daný odkaz má zkopírovat do výstupního adresáře.
ResolvedDependencyFiles Volitelný ITaskItem[] výstupní parametr jen pro čtení.

Obsahuje n. cesty k závislostem. Tento parametr neobsahuje primární odkazy prvního pořadí, které jsou obsaženy v parametru ResolvedFiles .

Položky v tomto parametru volitelně obsahují následující metadata položek:

- CopyLocal: Boolean hodnota. Určuje, zda se daný odkaz má zkopírovat do výstupního adresáře.
- FusionName: String hodnota. Určuje název této závislosti.
- ResolvedFrom: String hodnota. Určuje cestu hledání literálu, ze které byl tento soubor vyřešen.
ResolvedFiles Volitelný ITaskItem[] výstupní parametr jen pro čtení.

Obsahuje seznam všech primárních odkazů přeložených na úplné cesty.

Položky v tomto parametru volitelně obsahují následující metadata položek:

- CopyLocal: Boolean hodnota. Určuje, zda se daný odkaz má zkopírovat do výstupního adresáře.
- FusionName: String hodnota. Určuje název této závislosti.
- ResolvedFrom: String hodnota. Určuje cestu hledání literálu, ze které byl tento soubor vyřešen.
ResolvedSDKReferences Volitelný ITaskItem[] parametr.

Seznam vyřešených odkazů na sadu SDK, které obsahují název sady SDK, umístění sady SDK a cílovou konfiguraci. Tato umístění se prohledávají pouze v případě, že odkaz obsahuje SDKName připojená metadata.
SatelliteFiles Volitelný ITaskItem[] výstupní parametr jen pro čtení.

Určuje všechny nalezené satelitní soubory. Tyto soubory jsou CopyLocal=true , pokud odkaz nebo závislost, která způsobila, že tato položka existuje je CopyLocal=true.

Položky v tomto parametru volitelně obsahují následující metadata položek:

- CopyLocal: Boolean hodnota. Určuje, zda se daný odkaz má zkopírovat do výstupního adresáře. Tato hodnota je true , pokud odkaz nebo závislost, která způsobila, že tato položka existuje, CopyLocal má hodnotu true.
- DestinationSubDirectory: String hodnota. Určuje relativní cílový adresář pro zkopírování této položky.
ScatterFiles Volitelný ITaskItem[] výstupní parametr jen pro čtení.

Obsahuje bodové soubory přidružené k některému z daných sestavení.

Položky v tomto parametru volitelně obsahují následující metadata položek:

- CopyLocal: Boolean hodnota. Určuje, zda se daný odkaz má zkopírovat do výstupního adresáře.
SearchPaths Požadovaný parametr String[].

Určuje adresáře nebo speciální umístění, která jsou prohledána k vyhledání souborů na disku, které představují sestavení. Pořadí, ve kterém jsou uvedeny cesty hledání, je důležité. Pro každé sestavení se prohledá seznam cest zleva doprava. Když se najde soubor představující sestavení, hledání se zastaví a spustí se hledání dalšího sestavení.

Tento parametr přijímá seznam hodnot oddělených středníkem, které můžou být adresářové cesty nebo speciální hodnoty literálu z následujícího seznamu:

- {HintPathFromItem}: Dává úkolu pokyn, aby prozkoumal HintPath metadata základní položky.
- {CandidateAssemblyFiles}: Dává úkolu pokyn, aby prozkoumal soubory předávané prostřednictvím parametru CandidateAssemblyFiles .
- {Registry:<AssemblyFoldersBase>, <RuntimeVersion>, <AssemblyFoldersSuffix>}: Dává úkolu pokyn, aby prohledávat další složky zadané v registru. <AssemblyFoldersBase>, <RuntimeVersion> a <AssemblyFoldersSuffix> by měly být nahrazeny konkrétními hodnotami umístění registru, které se mají prohledávat. Výchozí specifikace společných cílů je {Registry:$(FrameworkRegistryBase), $(TargetFrameworkVersion), $(AssemblyFoldersSuffix), $(AssemblyFoldersExConditions)}.
- {AssemblyFolders}: Dává úkolu pokyn, aby používal schéma hledání visual Studio.NET 2003-sestavení-from-registry.
- {GAC}: Dává úkolu pokyn, aby hledal v globální mezipaměti sestavení (GAC).
- {RawFileName}: Určuje úkol bude považovat Include hodnotu položky za přesnou cestu a název souboru.
SerializationAssemblyFiles Volitelný ITaskItem[] výstupní parametr jen pro čtení.

Obsahuje všechna nalezená sestavení serializace XML. Tyto položky jsou označeny CopyLocal=true, pokud a pouze pokud odkaz nebo závislost, která způsobila, že tato položka existuje, je CopyLocal=true.

Metadata Boolean CopyLocal označuje, zda se daný odkaz má zkopírovat do výstupního adresáře.
Silent Volitelný Boolean parametr.

Pokud truenejsou zaprotokolovány žádné zprávy. Výchozí hodnota je false.
StateFile Volitelný String parametr.

Určuje název souboru, který označuje, kam se má uložit zprostředkující stav sestavení pro tuto úlohu.
SuggestedRedirects Volitelný ITaskItem[] výstupní parametr jen pro čtení.

Obsahuje jednu položku pro každou odlišnou konfliktní identitu sestavení bez ohledu na hodnotu parametru AutoUnify . To zahrnuje všechny jazykové verze a PKT, které nebyly v konfiguračním souboru aplikace vhodné bindingRedirect .

Každá položka volitelně obsahuje následující informace:

- Include attribute: Obsahuje úplný název řady sestavení s hodnotou pole Verze 0.0.0.0
- MaxVersion metadata položky: Obsahuje maximální číslo verze.
SupportsBindingRedirectGeneration Volitelný Boolean parametr.

Tuto možnost nastavte u true podporovaných projektů, aby se automaticky generovaly přesměrování vazby (aktuálně podporované pouze pro projekty EXE).
TargetedRuntimeVersion Volitelný String parametr.

Určuje verzi modulu runtime, která se má cílit, například 2.0.57027 nebo v2.0.57027.
TargetFrameworkDirectories Volitelný String[] parametr.

Určuje cestu k adresáři cílové architektury. Tento parametr je nutný k určení CopyLocal stavu výsledných položek.

Pokud tento parametr není zadaný, nebudou mít žádné výsledné položky CopyLocal hodnotu true , pokud explicitně nemají Private hodnotu true metadat pro zdrojovou položku.
TargetFrameworkMoniker Volitelný String parametr.

Monitorování TargetFrameworkMoniker , pokud existuje. Tento parametr se používá k protokolování.
TargetFrameworkMonikerDisplayName Volitelný String parametr.

Zobrazovaný název TargetFrameworkMoniker, který se má monitorovat, pokud existuje. Tento parametr se používá k protokolování.
TargetFrameworkSubsets Volitelný String[] parametr.

Obsahuje seznam názvů podmnožina cílových architektur, které se mají vyhledat v adresářích cílové architektury.
TargetFrameworkVersion Volitelný String parametr.

Verze cílové architektury projektu. Výchozí hodnota je prázdná, což znamená, že neexistuje žádné filtrování odkazů na základě cílové architektury.
TargetProcessorArchitecture Volitelný String parametr.

Upřednostňovaná cílová architektura procesoru. Používá se k překladu odkazů GAC (Global Assembly Cache).

Tento parametr může mít hodnotu x86, IA64nebo AMD64.

Pokud tento parametr chybí, úloha nejprve považuje sestavení, která odpovídají architektuře aktuálně spuštěného procesu. Pokud se nenajde žádné sestavení, úloha považuje sestavení v GAC, která mají ProcessorArchitecture hodnotu MSIL nebo žádnou ProcessorArchitecture hodnotu.
UnresolvedAssemblyConflicts Volitelný ITaskItem[] výstupní parametr jen pro čtení.

Pokud je trueparametr OutputUnresolvedAssemblyConflicts , nastaví se na seznam informací o nevyřešených konfliktech, které by normálně byly výstupem v MSB3277. V opačném případě je prázdný.
UnresolveFrameworkAssembliesFromHigherFrameworks Volitelný Boolean parametr.

Pokud je nastavena na true, vynutí sestavení architektury s verzemi vyšší nebo roven verzi cílové architektury do nevyřešeného stavu.
WarnOrErrorOnTargetArchitectureMismatch Volitelný String parametr.

Pokud došlo k neshodě mezi architekturou cílového procesoru a architekturou primárního odkazu, pokud se Errorjedná o chybu, zaprotokoluje se chyba, kdy Warningse zaprotokoluje upozornění, kdy Nonese zaprotokoluje žádná chyba nebo upozornění. Výchozí hodnota Warningje .

Upozornění

Protokolují se následující upozornění:

  • ResolveAssemblyReference.TurnOnAutoGenerateBindingRedirects

  • ResolveAssemblyReference.SuggestedRedirects

  • ResolveAssemblyReference.FoundConflicts

  • ResolveAssemblyReference.AssemblyFoldersExSearchLocations

  • ResolveAssemblyReference.UnifiedPrimaryReference

  • ResolveAssemblyReference.PrimaryReference

  • ResolveAssemblyReference.UnifiedDependency

  • ResolveAssemblyReference.UnificationByAutoUnify

  • ResolveAssemblyReference.UnificationByAppConfig

  • ResolveAssemblyReference.UnificationByFrameworkRetarget

Poznámky

Kromě výše uvedených parametrů tato úloha dědí parametry z TaskExtension třídy, která sama dědí z Task třídy. Seznam těchto dalších parametrů a jejich popisů naleznete v tématu TaskExtension základní třída.

Viz také