Al.exe (linker sestavení)

Nástroj Assembly Linker generuje soubor, který obsahuje sestavení z jednoho nebo více souborů, které jsou buď moduly, nebo soubory prostředků. Modul je soubor jazyka IL, který nemá manifest sestavení.

Poznámka

Počínaje sadou Visual Studio 2008 do sestavení automaticky vloží kompilátory jazyka C# i Visual Basic manifest Win32. Další informace najdete v tématu -win32manifest (možnosti kompilátoru jazyka C#).

Tento nástroj je automaticky nainstalován se sadou Visual Studio. Ke spuštění nástroje použijte příkazový řádek pro vývojáře sady Visual Studio nebo Visual Studio Developer PowerShell.

V příkazovém řádku zadejte následující:

Syntaxe

al sources options

Parametry

Můžete zadat jednu nebo více z následujících sourcesmožností .

Zdroj Popis
file[,target] Zkopíruje obsah file souboru (modulu) do názvu souboru určeného target. Po zkopírování Al.exe kompiluje target do sestavení.
/embed[prostředek]:file [,name [,private]] Vloží prostředek určený do file image, která obsahuje manifest sestavení; Al.exe zkopíruje obsah do přenosného spustitelného file souboru (PE).

Parametr name je interní identifikátor prostředku. Ve výchozím nastavení jsou prostředky v sestavení veřejné (viditelné pro jiná sestavení). Určením private není prostředek viditelný pro jiná sestavení.

Pokud file je soubor prostředků rozhraní .NET Framework vytvořený například generátorem souborů prostředků (Resgen.exe) nebo ve vývojovém prostředí, je možné k němu přistupovat s členy v souboru System.Resources. Další informace naleznete v tématu ResourceManager. Pro všechny ostatní prostředky použijte GetManifestResource* metody v přístup Assembly k prostředku za běhu.

Pokud se do Al.exepředají jenom soubory prostředků, výstupní soubor je satelitní sestavení prostředků.
/link[zdroj]:file [,name [,target [,private]]] Propojuje soubor prostředků se sestavením. Prostředek určený file jako součást sestavení; soubor se nekopíruje. Parametr file může být v libovolném formátu souboru. Jako parametr můžete například zadat nativní knihovnu file DLL. Tím se nativní knihovna DLL stane součástí sestavení, aby mohla být nainstalována do globální mezipaměti sestavení (GAC) a mohlo k ní být přistupováno ze spravovaného kódu v sestavení. Můžete to provést také pomocí možnosti kompilátoru /linkresource . Další informace najdete v tématu -linkresource (možnosti kompilátoru C#).

Parametr name je interní identifikátor prostředku. Parametr target určuje cestu a název souboru, do kterého Al.exe zkopíruje file. Po zkopírování Al.exe kompiluje target do sestavení. Ve výchozím nastavení jsou prostředky v sestavení veřejné (viditelné pro jiná sestavení). Určením private není prostředek viditelný pro jiná sestavení.

Pokud file je soubor prostředků rozhraní .NET Framework vytvořený například generátorem souborů prostředků (Resgen.exe) nebo ve vývojovém prostředí, může k němu přistupovat členové v System.Resources oboru názvů. Další informace naleznete v tématu ResourceManager. Pro všechny ostatní prostředky použijte GetManifestResource* metody ve Assembly třídě pro přístup k prostředku za běhu.

Pokud se do Al.exepředají jenom soubory prostředků, výstupní soubor je satelitní sestavení prostředků.

Můžete zadat následující options; je nutné zadat /out.

Možnost Popis
/algid:id Určuje algoritmus, který vytvoří hodnotu hash pro všechny soubory ve vícesouborovém sestavení s výjimkou souboru, který obsahuje manifest sestavení. Výchozí algoritmus je CALG_SHA1. Další algoritmy najdete v části ALG_ID v dokumentaci Platform SDK. U první verzi rozhraní .NET Framework jsou platné pouze hodnoty CALG_SHA1 a CALG_MD5.

Hodnoty hash jsou uloženy v tabulce souboru manifestu sestavení. V době instalace a načítání jsou soubory sestavení kontrolovány proti jejich hodnotám hash.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyAlgorithmIdAttribute) ve zdrojovém kódu pro libovolný modul.
/base[address]:addr Určuje adresu, na kterou budou v počítači uživatele za běhu načteny knihovny DLL. Aplikace se načítají rychleji při zadání základní adresy knihoven DLL, namísto dovolení operačnímu systému přemisťovat knihovny DLL v prostoru procesu.
/bugreport: filename Vytvoří soubor (filename), který obsahuje informace pro hlášení chyb.
/comp[any]:text Určuje řetězec pro pole Company v sestavení. Pokud řetězec obsahuje mezeru, umístěte řetězec do dvojitých uvozovek (" ").text Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

Pokud nezadáte /win32res, text zobrazí se v Průzkumník souborů jako Company vlastnost souboru. Pokud zadáte /win32res, zobrazí se informace o společnosti v zadaném souboru prostředků jako Company vlastnost v Průzkumník souborů.

Pokud je text prázdný řetězec (""), prostředek Win32 Company se zobrazí jako jediné místo.

Pokud zadáte /win32res, /company neovlivní informace o zdroji Win32.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyCompanyAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/config[uration]:text Určuje řetězec pro pole Configuration v sestavení. Pokud řetězec obsahuje mezeru, umístěte řetězec do dvojitých uvozovek (" ").text Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

Pokud je text prázdný řetězec (""), prostředek Win32 Configuration se zobrazí jako jedna mezera.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyConfigurationAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/copy[right]:text Určuje řetězec pro pole Copyright v sestavení. Pokud řetězec obsahuje mezeru, umístěte řetězec do dvojitých uvozovek (" ").text Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

Pokud nezadáte /win32res, zobrazí se v Průzkumník souborů jako zdroj autorských práv Win32.

Pokud je text prázdný řetězec (""), prostředek Win32 Copyright se zobrazí jako jedna mezera.

Pokud zadáte /win32res, / copyright neovlivní informace o zdroji Win32.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyCopyrightAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/c[ulture]:text Určuje řetězec jazykové verze přidružený k sestavení. Platné hodnoty pro jazykové verze jsou definovány dokumentem Internet Requests for Comments (RFC) číslo 1766 s názvem „Tags for the Identification of Languages (Značky pro identifikaci jazyků)“.

Pokud řetězec obsahuje mezeru, umístěte řetězec do dvojitých uvozovek (" ").text Neexistuje žádný výchozí řetězec jazykové verze. Tento řetězec lze zobrazit pomocí reflexe.

Informace o platných text řetězcích najdete v tématu CultureInfo.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyCultureAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/delay[sign][+|-] Určuje, zda bude sestavení zcela nebo částečně podepsáno. Pokud chcete plně podepsané sestavení, použijte /delaysign . Pokud chcete do sestavení zahrnout pouze veřejný klíč, použijte /delaysign+ .

Když požadujete plně podepsané sestavení, Al.exe hashuje soubor, který obsahuje manifest (metadata sestavení) a podepíše hodnotu hash pomocí privátního klíče. Výsledný digitální podpis je uložen do souboru obsahujícího manifest. Pokud je sestavení podepsáno zpožděním, Al.exe nevypočítá a uloží podpis, ale stačí rezervovat místo v souboru, aby bylo možné podpis přidat později.

Výchozí hodnota je /delaysign-.

Možnost /delaysign nemá žádný vliv, pokud se nepoužívá se souborem /keyfile nebo /keyname.

Například použití /delaysign+ umožňuje testeru umístit sestavení do globální mezipaměti. Po otestování je možné plně podepsat sestavení včetně soukromého klíče v sestavení.

Poznámka: Před použitím Gacutil.exe (nástroj globální mezipaměti sestavení) vložte sestavení podepsané zpožděním do globální mezipaměti, pomocí Sn.exe (nástroj Strong Name Tool) zaregistrujte sestavení pro přeskočení ověření. Například, Sn.exe –Vr delaySignedAssembly. Tato možnost slouží pouze pro vývoj.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyDelaySignAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/descr[iption]:text Určuje řetězec pro Description pole v sestavení. Pokud řetězec obsahuje mezeru, umístěte řetězec do dvojitých uvozovek (" ").text Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

Pokud nezadáte /win32res, zobrazí se v Průzkumník souborů jako prostředek Komentáře Win32.

Pokud je text prázdný řetězec, prostředek Win32 Comments se zobrazí jako jediné místo.

Pokud zadáte /win32res, / description neovlivní informace o prostředku Win32.

Tuto možnost můžete také zadat jako vlastní atribut (Description) ve zdrojovém kódu pro libovolný modul MSIL.
/e[vidence]:file Vloží file se do sestavení s názvem prostředku Security.Evidence.

Security.Evidence nelze použít pro běžné prostředky.
/fileversion:version Určuje řetězec pro pole Verze souboru v sestavení. Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

Pokud nezadáte /win32res, / fileversion se použije jako prostředek verze souboru Win32. Pokud nezadáte /fileversion, prostředek verze souboru Win32 se naplní prostředkem verze sestavení Win32.

Pokud je zadán parametr /win32res , parametr /fileversion nemá vliv na prostředek Win32.

Tuto možnost lze také nastavit pro jakýkoli modul jazyka MSIL jako vlastní atribut (AssemblyFileVersionAttribute) ve zdrojovém kódu.
/flags:flags Určuje hodnotu pole Flags v sestavení. Možné hodnoty pro flags:

0x0000
Sestavení je souběžně kompatibilní.

0x0010
Sestavení nelze spustit s jinými verzemi, pokud jsou spuštěny ve stejné doméně aplikace.

0x0020
Sestavení nelze spustit s jinými verzemi, pokud jsou spuštěny ve stejném procesu.

0x0030
Sestavení nelze spustit s jinými verzemi, pokud jsou spuštěny na stejném počítači.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyFlagsAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/fullpaths Způsobí , žeAl.exe použít absolutní cestu pro všechny soubory, které jsou hlášeny v chybové zprávě.
/help Zobrazí syntaxi příkazu a možnosti nástroje.
/keyf[ile]:filename Určuje soubor (filename), který obsahuje pár klíčů nebo jen veřejný klíč pro podepsání sestavení. Kompilátor vloží veřejný klíč do manifestu sestavení a poté podepíše konečné sestavení soukromým klíčem. Informace o generování klíčových souborů a instalaci párů klíčů do kontejnerů klíčů najdete v nástroji Strong Name (Sn.exe).

Při použití zpožděného podepisování bude tento soubor obvykle mít veřejný klíč, ale ne soukromý klíč.

Údaje o veřejném klíči (z dvojice klíčů) se zobrazí v poli .publickey sestavení.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyKeyFileAttribute) ve zdrojovém kódu pro libovolný modul MSIL.

Pokud jsou ve stejné kompilaci zadány parametry /keyfile i /keyname (buď pomocí možnosti příkazového řádku, nebo podle vlastního atributu), Al.exe nejprve vyzkouší kontejner zadaný parametrem /keyname. Pokud je tato operace úspěšná, sestavení je podepsáno informacemi z kontejneru klíčů. Pokud Al.exe kontejner klíčů nenajde, zkusí se soubor zadaný souborem /keyfile. Pokud se to podaří, sestavení je podepsané informacemi v souboru klíče a informace o klíči se nainstalují do kontejneru klíčů (podobně jako u možnosti -i v Sn.exe) tak, aby při další kompilaci byla možnost /keyname platná.
/keyn[ame]:text Určuje kontejner obsahující pár klíčů. Toto podepíše sestavení (dá sestavení silný název) tak, že vloží veřejný klíč do manifestu sestavení. Al.exe pak podepíše konečné sestavení pomocí privátního klíče.

Pomocí Sn.exe vygenerujte pár klíčů.

Informace o klíči se zobrazí v poli .publickey sestavení.

Pokud je vložený prostor, umístěte text do dvojitých uvozovek (" ") .

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyKeyNameAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/main:method Určuje plně kvalifikovaný název (class.method) metody, který se má použít jako vstupní bod při převodu modulu na spustitelný soubor.
/nologo Potlačí banner nebo logo zobrazené na příkazovém řádku při vyvolání Al.exe.
/out:filename Určuje název souboru vytvořeného Al.exe. Tato možnost je povinná.
/platformu:text Omezuje platformy, na kterých lze tento kód spustit. Musí být jedna z možností x86, Itanium, x64, anycpu (výchozí) nebo anycpu32bitpreferred.
/prod[uct]:text Určuje řetězec pro pole Product v sestavení. Pokud řetězec obsahuje mezeru, umístěte řetězec do dvojitých uvozovek (" ").text Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

Pokud nezadáte /win32res, zobrazí se v Průzkumník souborů jako prostředek Názvu produktu Win32.

Pokud je text prázdný řetězec, prostředek Název produktu Win32 se zobrazí jako jediné místo.

Pokud zadáte /win32res, / product neovlivní informace o prostředku Win32.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyProductAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/productv[ersion]:text Určuje řetězec pro pole Verze produktu v sestavení. Pokud řetězec obsahuje mezeru, umístěte řetězec do dvojitých uvozovek (" ").text Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

Pokud nezadáte /win32res, / productversion se použije jako prostředek verze produktu Win32. Pokud nezadáte /productversion, naplní se prostředek verze produktu Win32 prostředkem verze souboru Win32.

Pokud zadáte /win32res, /productversion neovlivní informace o prostředku Win32.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyInformationalVersionAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/t[arget]:lib[rary] | exe | win[exe] Určuje formát souboru výstupního souboru: lib[rary] (knihovna kódu), exe (konzolová aplikace) nebo win[exe] (aplikace založená na Windows). Výchozí formát je lib[rary].
/template:filename Určuje sestavení, filenameze kterého se mají dědit všechna metadata sestavení s výjimkou pole jazykové verze.

Sestavení, které vytvoříte pomocí /template , bude satelitní sestavení.
/title:text Určuje řetězec pro pole Název v sestavení. Pokud řetězec obsahuje mezeru, umístěte řetězec do dvojitých uvozovek (" ").text Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

Pokud nezadáte /win32res, název se zobrazí v Průzkumník souborů jako prostředek popisu Win32, který je používán prostředím jako popisný název aplikace. Zobrazí se také v podnabídce Otevřít s místní nabídkou pro typ souboru, pro který existuje více podpůrných aplikací.

Pokud je text prázdný řetězec, prostředek Popis Win32 se zobrazí jako jeden mezera.

Pokud zadáte /win32res, nebude mít název vliv na informace o prostředku Win32.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyTitleAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/trade[mark]:text Určuje řetězec pro pole Ochranné známky v sestavení. Pokud řetězec obsahuje mezeru, umístěte řetězec do uvozovek (" text "). Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

Pokud nezadáte /win32res, zobrazí se v Průzkumník souborů jako prostředek Win32 Ochranné známky.

Pokud je text prázdný řetězec, prostředek ochranné známky Win32 se zobrazí jako jediné místo.

Pokud zadáte /win32res, /ochranná známka nebude mít vliv na informace o prostředku Win32.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyTrademarkAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/v[ersion]:version Určuje informace o verzi pro toto sestavení. Formát řetězce verze je major.minor.build.revision. Výchozí hodnota je 0.

Pokud zadáte /version, musíte zadat major. Pokud zadáte major a minor, můžete zadat hvězdičku (*)pro build. To způsobí build , že se bude rovnat počtu dnů od 1. ledna 2000, místního času a revision bude se rovnat počtu sekund od půlnoci aktuálního dne, místního času děleného číslem 2.

Pokud zadáte major, minora build, můžete zadat hvězdičku pro revision. To způsobí revision , že se rovná počtu sekund od půlnoci aktuálního dne, místního času děleného číslem 2.

Platné řetězce verze jsou tedy tyto:

×

X.X

X.X.*

X.X.X

X.X.X.*

X.X.X.X

kde X je libovolná konstanta typu unsigned short s výjimkou 65535 (0–65534).

Pokud nezadáte /win32res, použije se jako prostředek verze sestavení Win32 /version .

Pokud nezadáte /win32res, /productversion a /fileversion, /version , použije se pro prostředky Win32 verze sestavení, verze souboru a verze produktu Win32.

Pokud zadáte /win32res, /version neovlivní informace o prostředku Win32.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyVersionAttribute) ve zdrojovém kódu pro libovolný modul MSIL.
/win32icon:filename Vloží soubor .ico do sestavení. Soubor .ico dává výstupnímu souboru požadovaný vzhled v Průzkumníku souborů.
/win32res:filename Vloží prostředek systému Win32 (soubor .res) do výstupního souboru. Soubor prostředků Win32 lze vytvořit pomocí nástroje Resource Compiler. Nástroj Resource Compiler je vyvolán při kompilaci programu Visual C++; soubor .res je vytvořen ze souboru .rc.
@filename Určuje soubor odpovědi, který obsahuje příkazyAl.exe .

Příkazy v souboru odpovědí se mohou objevit na samostatných řádcích nebo na stejném řádku, oddělené jednou nebo více mezerami.
/? Zobrazí syntaxi příkazu a možnosti nástroje.

Poznámky

Všechny kompilátory sady Visual Studio vytváří sestavení. Pokud ale máte jeden nebo více modulů (metadata bez manifestu), můžete použít Al.exe k vytvoření sestavení s manifestem v samostatném souboru.

Chcete-li nainstalovat sestavení v mezipaměti, odeberte sestavení z mezipaměti nebo vypište obsah mezipaměti, použijte nástroj globální mezipaměti sestavení (Gacutil.exe).

Chyby a upozornění

Následující tabulka uvádí chyby vygenerované Al.exe.

Chyba Popis
al1001 Vnitřní chyba kompilátoru

Pokuste se zjistit, jestli Al.exe selhává kvůli nemožnosti analyzovat neočekávanou syntaxi. Pak se obraťte na služby technické podpory společnosti Microsoft.
al1002 Nedostatek paměti

Al.exe nedostatek paměti a zastavil se. Zvyšte množství dostupné paměti.
al1003 Za možností kompilátoru musí následovat argument.

Al.exe očekávali předání argumentu do možnosti příkazového řádku. Pokud například zadáte /algid:, musíte předat identifikátor algoritmu.
al1004 Neočekávaná chyba inicializace modulu clr jazyka – důvod

Al.exe nahlásil chybu při instalaci sady Visual Studio nebo modulu CLR (Common Language Runtime) z zadaného důvodu.
al1005 Soubor 'file' too big to open

Všechny soubory otevřené Al.exe musí být menší než 4 gigabajty (GB).
al1006 Soubor odpovědi "file" už byl zahrnutý.

Stejný soubor odpovědi byl zadán@file () více než jednou na příkazovém řádku. Soubor odpovědi lze zahrnout pouze jednou.
al1007 Chyba při otevírání souboru odpovědi "file" – 'reason'

Al.exe nelze otevřít zadaný soubor odpovědi z zadaného důvodu.
al1008 Chybí specifikace souboru pro možnost příkazového řádku option

Al.exe očekáváte, že se soubor předá do možnosti příkazového řádku. Pokud například zadáte možnost /out , musíte zadat soubor.
al1009 Nelze otevřít soubor pro zápis

Al.exe se nepodařilo zapisovat do souboru, například do výstupního souboru sestavení. Disk může být plný, soubor může být jen pro čtení nebo nemáte oprávnění k souboru.
al1010 Chyba syntaxe příkazového řádku: U možnosti option chybí :text.

Al.exe očekávali předání argumentu do možnosti příkazového řádku. Pokud například zadáte možnost /title , musíte předat řetězec.
al1011 Soubor 'file' je spustitelný soubor a nelze ho otevřít jako textový soubor.

Byl zadán binární soubor, ve kterém byl očekáváný textový soubor. K této chybě dochází například v případě, že se binární soubor předá na příkazovém řádku jako soubor odpovědi.
al1012 Hodnota není platné nastavení pro možnost option 'option'

Do možnosti příkazového řádku byla předána neočekávaná hodnota. K této chybě dojde například v případě, že zadáte neplatnou hodnotu pro možnost /target .
al1013 Nerozpoznaná možnost příkazového řádku: option

Byla zadána neplatná možnost příkazového řádku.
al1014 Neočekávaná chyba inicializace – důvod

Al.exe zjistilo selhání inicializace modelu COM. Příčinou může být nedostatek paměti, ale s větší pravděpodobností příčinou jsou systémové soubory DLL. Podobná chyba by se měla zobrazit, pokud spustíte nějaký program s podporou automatizace nebo modelu COM, například Microsoft Visual Studio.

Přeinstalujte operační systém.
al1015 Nepodařilo se najít soubor zpráv alinkui.dll

Al.exe vyžaduje Alinkui.dll. Ujistěte se, že je tento soubor na vaší cestě. V případě potřeby ho zkopírujte z disku CD produktu.
al1016 Nebyly zadány žádné platné vstupní soubory.

Al.exe vyžaduje jeden nebo více vstupních souborů, které nemají informace o sestavení.
al1017 Nebyl zadán žádný cílový název souboru.

Požadovaná možnost /out určující název cílového souboru nebyla nalezena.
al1018 Požadovaný soubor file nelze načíst.

Některé soubory DLL nelze načíst. Přeinstalujte Sadu Visual Studio nebo sadu Windows SDK.
al1019 Selhání metadat při vytváření sestavení – důvod

Generování sestavení bylo přerušeno z zadaného důvodu. K této chybě dojde například v případě, že se nenajde soubor, který zadáte s možností /win32res .
al1020 Ignorování zahrnuté sestavení 'file'

Byl zadán vstupní soubor, který obsahoval sestavení. Al.exe vstupní soubory nemohou obsahovat sestavení.
al1021 'setting' : přepsání předchozího nastavení

Modul měl hodnotu pro konkrétní nastavení, která byla pravděpodobně přiřazena prostřednictvím vlastních atributů, která byla přepsána hodnotou předanou pomocí možnosti příkazového řádku Al.exe .
al1022 Chyba při čtení vloženého prostředku File – důvod

Al.exe nelze přečíst soubor předaný do parametru /embedresource z zadaného důvodu.
al1023 Chyba při vkládání prostředku File – důvod

Operační systém nemůže vložit soubor prostředku do sestavení z zadaného důvodu.
al1025 Záznam ComType "record" odkazuje na neplatný záznam souboru "record"

Metadata ve vstupním modulu jsou neplatná. Nástroj, který modul vytvořil, musí být opraven.
al1026 Zadaná verze je neplatná.

Viz informace o možnosti /version pro platné formáty.
al1028 V souboru klíče "file" chybí privátní klíč potřebný k podepisování.

Soubor klíče, který obsahuje pouze veřejný klíč, byl předán do možnosti /keyfile . Pomocí nástroje Strong Name (Sn.exe) vygenerujte soubor, který má veřejný i privátní klíč, jak je znázorněno v následujícím příkazu.

sn -k keypair.snk.
al1029 Název kontejneru klíčů "kontejner" neexistuje.

Hodnota předaná do parametru /keyname není platným kontejnerem. K vytvoření kontejneru použijte nástroj Strong Name Tool (Sn.exe).
al1030 Kryptografická služba není správně nainstalována nebo nemá vhodného zprostředkovatele klíče.

Možná budete muset přeinstalovat operační systém nebo nainstalovat nějaký kryptografický nástroj, který se použil k vytvoření klíče.
al1031 Chyba při čtení ikony Soubor – důvod

Al.exe nelze přečíst soubor předaný do parametru /win32icon z zadaného důvodu.
al1032 Chyba při generování prostředků pro soubor – důvod

Al.exe nelze vytvořit soubor kvůli nedostatku místa na disku nebo jiné chybě. K této chybě dochází, když zadáte možnost /win32icon (která vygeneruje soubor .ico) nebo nezadáte možnost /win32res (která vygeneruje soubor s informacemi o prostředku).

Pokud nemůžete problém s generováním souborů vyřešit, použijte /win32res, který určuje soubor, který může obsahovat informace o verzi nebo rastrovém obrázku (ikoně).
al1033 Atribut "atribut" sestavení byl zadán vícekrát s různými hodnotami.

Různé hodnoty byly předány do dvou výskytů stejného vlastního atributu ve zdrojových modulech, které jsou zadány jako vstup proAl.exe.
al1034 Sestavení "soubor" nelze zkopírovat ani přejmenovat.

Při použití syntaxeAl.exe , která umožňuje zadat vstupní soubor a zkopírovat ho, došlo ke konfliktu názvů, který zastavil kompilátor. Například k této chybě dochází, pokud zadáte input.dll,somename.dll /out:somename.dll.
al1035 Knihovny nemohou mít vstupní bod.

Nelze zadat možnost /target:lib (výchozí) i možnost /main .
al1036 Vstupní bod vyžadovaný pro spustitelné aplikace

Při použití parametru /target:exe nebo /target:win musíte také zadat /main možnost.
al1037 Nelze najít metodu vstupního bodu main

Al.exe nelze najít metodu Main v umístění určeném parametrem /main .
al1039 Inicializace globálního správce mezipaměti sestavení selhala – důvod

Přeinstalujte Sadu Visual Studio nebo sadu Windows SDK.
al1040 Instalace sestavení do mezipaměti se nezdařila – důvod

Do mezipaměti lze nainstalovat pouze podepsaná sestavení. Další informace naleznete v tématu Globální mezipaměť sestavení.
al1041 'method': nemůže být vstupním bodem, protože podpis nebo viditelnost je nesprávný nebo je obecný.

Byla zadána metoda s parametrem /main , ale tato metoda není statická, nevrací int nebo void, byla obecná nebo má neplatné argumenty.
al1042 Exe: ExEs nelze přidat moduly.

.exe soubor, který nemá sestavení, byl zadán jako vstupní soubor pro Al.exe. Al.exe může jako vstupní soubory přijímat pouze soubory dll bez sestavení.
al1043 Název souboru manifestu "name" nemůže být stejný jako žádné moduly.

Název zadaný parametrem /out nemůže být stejný jako žádný z názvů souborů zadaných jako vstup pro Al.exe.
al1044 Chyba při čtení souboru klíče "file" – důvod

Při otevírání nebo čtení ze souboru zadaného pomocí souboru /keyfile nebo souboru AssemblyKeyFileAttributedošlo k chybě .
al1045 Název souboru je příliš dlouhý nebo neplatný.

Název souboru delší než 260 znaků byl předánAl.exe. Zvolte název souboru s menším počtem znaků nebo kratší cestou nebo soubor přejmenujte.
al1046 Identifikátor prostředku ID byl již použit v tomto sestavení.

Dva prostředky, vložené nebo propojené, mají stejný identifikátor nebo název (druhý argument). Odeberte nebo přejmenujte jeden z konfliktních prostředků.
al1047 Chyba při importu souboru file – důvod

Soubor modulu nelze otevřít z zadaného důvodu.
al1048 Chyba při importu modulu sestavení Sestavení – důvod

Při otevření nemanifestového souboru vícesouborového sestavení došlo k chybě. Tato chyba není generována přímo Al.exe, ale lze ji předat programově procesu, který používá Al.exe.
al1049 Nelze automaticky generovat čísla verzí sestavení a revizí pro data před 1. lednem 2000

Systémové hodiny v počítači jsou nastavené na datum dřívější než 1. ledna 2000.
al1050 Funkce, kterou používáte , se už nepodporuje; Místo toho použijte novou funkci.

Funkce dříve podporovaná Al.exe je teď zastaralá. Místo toho použijte doporučenou funkci.
al1051 Chyba vygenerování atributu atributu – důvod

Vlastní atribut sestavení nebyl zpracován Al.exe z zadaného důvodu.
al1052 Soubor "název souboru" není sestavení

Soubor zadaný parametrem /template musí obsahovat metadata sestavení. Tato chyba označuje, že soubor zadaný parametrem /template neobsahuje sestavení.
al1053 Verze "version" zadaná pro možnost není v normálním formátu major.minor.build.revision.

Al.exe zjištěny informace o špatně vytvořené verzi zadané s možnostmi /fileversion nebo /productversion .
al1054 Verze "version" zadaná pro možnost není v normálním formátu major.minor.build.revision.

Al.exe zjištěny špatně vytvořené informace o verzi zadané pomocí SatelliteContractVersionAttribute.
al1055 Odkazované sestavení název souboru nemá silný název.

Tato chyba se vydává při sestavování sestavení se silným názvem a odkazuje na sestavení, které nemá silný název. Pokud chcete tento problém vyřešit, musíte sestavení znovu vygenerovat pomocí silného názvu nebo připojit silný název k sestavení pomocí Sn.exe (viz dokumentace pro Sn.exe).

Běžným výskytem této chyby je, že používáte objekty COM prostřednictvím sestavení obálky, například když přidáte odkaz na modul COM do projektu C# prostřednictvím integrovaného vývojového prostředí sady Visual Studio. Chcete-li se této chybě vyhnout, můžete zadat soubor klíče silného názvu pro sestavení obálky MODELU COM ve vlastnosti "Soubor/název klíče sestavení obálky".

Pokud vytváříte sestavení obálky prostřednictvím tlbimpu, přečtěte si dokumentaci k tlbimpu , kde najdete informace o přiřazení silného názvu k sestavení obálky.

Pokud má sestavení silný název, můžete ho nainstalovat do globální mezipaměti sestavení. V důsledku toho by odkazovaná sestavení také přešla do globální mezipaměti sestavení. Do globální mezipaměti sestavení můžou přejít pouze sestavení se silnými názvy.
al1056 Odkazované sestavení "název souboru" je lokalizované satelitní sestavení

Sestavení vytvořené pomocí atributu AssemblyCultureAttribute bylo odkazováno při vytváření aktuálního sestavení. Atribut AssemblyCultureAttribute označuje, že soubor je lokalizované satelitní sestavení a není vhodné odkazovat na satelitní sestavení. Místo toho odkazujte na hlavní nadřazené sestavení.
al1057 Spustitelné soubory nelze lokalizovat, jazyková verze by měla být vždy prázdná.

Sestavení se vytváří pomocí příkazu /target:exe , ale byla zadána jazyková verze . Sestavení v .exe nemohou mít informace v poli Jazyková verze.
al1058 Soubor je sestavení a nelze ho přidat jako modul.

V kompilaci jazyka C++ bylo předáno /assemblymodule (možnost linkeru) soubor, který obsahoval sestavení.
al1059 Neznámá chyba (kód)

Al.exe obdržel neznámý kód chyby (code).

Mezi možná řešení patří:

Přeinstalujte Visual Studio.

Přeinstalujte sadu Windows SDK.

Zkontrolujte chybějící soubory.

Zkontrolujte odpovídající místo na disku.

Zkontrolujte odpovídající paměť.

Zastavte další procesy, které můžou přistupovat k souborům.

Restartujte počítač.
al1060 Kryptografické selhání při vytváření hodnot hash – důvod

Při vytváření hodnot hash souborů pro vícesouborové sestavení došlo k chybě.
al1061 Možnost option 'option' nelze nastavit, protože 'důvod'

Hodnota zadaná pro tuto možnost je pro zadaný důvod neplatná.
al1062 Modul "module" byl zadán několikrát; bude zahrnuta pouze jednou.

Toto upozornění se vygeneruje, když je na příkazovém řádku zadán stejný zdrojový, vstupní nebo modulový soubor několikrát. Ujistěte se, že název souboru zadáte jenom jednou.
al1063 Veřejný typ type 'type' je definován v několika umístěních v tomto sestavení: 'file1' a 'file2'

Stejný typ byl nalezen ve více než jednom modulu v sestavení. V sestavení může být přítomna pouze jedna verze každého typu.
al1064 Nelze zadat více možností /bugreport.

Je povolena pouze jedna možnost /bugreport .
al1065 Název souboru "Název souboru" je příliš dlouhý nebo neplatný.

Zadaný název souboru je delší než maximální povolený.
al1066 Znak znaku není povolený na příkazovém řádku nebo v souborech odpovědí.

Byl nalezen neplatný znak, a to buď na příkazovém řádku, nebo v souboru.
al1067 Název souboru je binární soubor místo textového souboru.

Soubor je v binárním formátu místo textu.
al1068 Modul ModuleName je již definován v tomto sestavení. Každý propojený prostředek a modul musí mít jedinečný název souboru.

Modul se v tomto sestavení vyskytuje více než jednou.
al1069 Nelze vytvořit krátký název souboru "název souboru", pokud již existuje dlouhý název souboru se stejným krátkým názvem souboru.

Aktuální soubor má název, který je krátká verze názvu souboru, který již existuje. Například kompilace LongFileName.cs a následná kompilace s názvem LongFi~1.cs způsobí chybu kompilátoru podobné tomuto. Pokud byly odstraněny výstupní soubory kompilátoru s dlouhými názvy, ale analogické soubory linkeru zůstaly, může k této chybě dojít.
al1070 Agnostic assembly nemůže mít modul specifický pro procesor "Název modulu"

Pokud vytváříte pomocí /platform:agnostic (nebo nezadáte /platformu), při pokusu o přidání modulu (pomocí /addmodule) se vygeneruje chyba, která není nezávislá. To se podobá pokusu o propojení souboru i386 obj s ia64 obj.

Hlavním zdrojem neaktivních modulů je C++. Pokud používáte /addmodule s modulem C++, možná budete muset upravit skripty sestavení tak, aby určily příslušné nastavení /platformy .
al1072 Sestavení a modul Název modulu nemohou cílit na různé procesory

Nelze propojit sestavení a modul, který je určený pro různé procesory, protože výsledek musí běžet na jednom procesoru.
al1073 Odkazované sestavení "sestavení" cílí na jiný procesor

Sestavení cílená pro různé procesory nelze propojit, protože výsledek musí běžet na jednom procesoru.
al1074 Název modulu uložený v názvu souboru musí odpovídat názvu souboru.

To se vyžaduje u linkeru. Chcete-li tento problém vyřešit, musí se tyto dva názvy shodovat.
al1075 Bylo požadováno zpoždění podepisování, ale nebyl zadán žádný klíč.

Pokud je sestavení podepsáno zpožděním, kompilátor nepočítá a uloží podpis, ale vyhrazuje si místo v souboru, aby bylo možné podpis přidat později.

Například použití /delaysign+ umožňuje testeru umístit sestavení do globální mezipaměti. Po testování můžete sestavení plně podepsat přidáním privátního klíče do sestavení pomocí nástroje Assembly Linker.
al1076 Typ "type" se přeposílají do více sestavení: sestavení a sestavení.

Typ lze přeposlat pouze do jednoho sestavení.
al1077 Veřejný typ Type je definován v sestavení a přeposílaný na sestavení.

Vygenerovaném sestavení existuje duplicitní veřejný typ. Jedna je platná definice typu a druhá je předávání typů.

Příklad

Následující příkaz vytvoří spustitelný soubor t2a.exe sestavením z t2.netmodule modulu. Vstupní bod je Main metoda v MyClass.

al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main

Viz také