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 se kompilátory jazyka C# i Visual Basic automaticky vloží do sestavení manifest Win32. Další informace naleznete 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 Visual Studio Developer Command Prompt nebo Visual Studio Developer PowerShell.

Na 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í .

Source Popis
file[,target] Zkopíruje obsah file souboru (modulu) do názvu souboru určeného .target Po zkopírování Al.exe kompilace target do sestavení.
/embed[prostředek]:file[,name[,private]] Vloží prostředek určený file do image, která obsahuje manifest sestavení; Al.exe zkopíruje obsah do bitové kopie 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í). Zadání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 být přístupný se členy v souboru System.Resources. Další informace najdete na webu ResourceManager. Pro všechny ostatní prostředky použijte GetManifestResource* metody v Assembly běhu pro přístup k prostředku.

Pokud se do Al.exe předají jenom soubory prostředků, je výstupní soubor sestavením satelitního prostředku.
/link[prostředek]:file[,name[,target[,private]]] Propojuje soubor prostředků se sestavením. Prostředek určený file součástí sestavení; soubor se nezkopí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 jazyka 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 zkompiluje target do sestavení. Ve výchozím nastavení jsou prostředky v sestavení veřejné (viditelné pro jiná sestavení). Zadání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 být přístupný se členy v System.Resources oboru názvů. Další informace najdete na webu 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.exe předají jenom soubory prostředků, je výstupní soubor sestavením satelitního prostředku.

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[adresa]: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 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, informace o společnosti v zadaném souboru prostředků se zobrazí jako Company vlastnost v Průzkumník souborů.

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

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

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyCompanyAttribute) ve zdrojovém kódu pro libovolný modul CIL.
/config[uration]:text Určuje řetězec pro pole Configuration 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 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 CIL.
/copy[right]:text Určuje řetězec pro pole Copyright 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, /copyright se zobrazí 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 prostředku Win32.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyCopyrightAttribute) ve zdrojovém kódu pro libovolný modul CIL.
/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 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 naleznete v tématu CultureInfo.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyCultureAttribute) ve zdrojovém kódu pro libovolný modul CIL.
/delay[sign][+ or -] 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žádáte o plně podepsané sestavení, Al.exe zatřiďuje 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. Když je sestavení podepsáno zpožděním, Al.exe nevypočítá a uloží podpis, ale pouze rezervuje 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á s parametrem /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í) k vložení sestavení podepsaného zpožděním do globální mezipaměti použijte Sn.exe (Nástroj silného názvu) k registraci 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 CIL.
/descr[iption]:text Určuje řetězec pro Description pole 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 Komentáře Win32 .

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

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 CIL.
/e[vidence]:file file Vloží 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, použije se jako prostředek verze souboru Win32 /fileversion. Pokud nezadáte /fileversion, prostředek verze souboru Win32 bude naplněn prostředkem verze sestavení Win32.

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

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyFileVersionAttribute) ve zdrojovém kódu pro libovolný modul CIL.
/Příznaky: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 CIL.
/fullpaths Způsobí , že Al.exe použít absolutní cestu pro všechny soubory, které jsou hlášeny v chybové zprávě.
/Pomoc 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í souborů klíčů a instalaci párů klíčů do kontejnerů klíčů najdete v nástroji Strong Name Tool (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 CIL.

Pokud jsou ve stejné kompilaci zadány parametry /keyfile i /keyname (buď pomocí možnosti příkazového řádku nebo vlastního atributu), Al.exe nejprve vyzkouší kontejner zadaný pomocí parametru /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ý pomocí souboru /keyfile. Pokud je to úspěšné, sestavení je podepsáno informacemi v souboru klíče a informace o klíči budou nainstalovány v kontejneru klíčů (podobně jako parametr -i v Sn.exe), takže při další kompilaci bude 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í privátním klíčem.

K vygenerování páru klíčů použijte Sn.exe .

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

Umístit text do dvojitých uvozovek (" ") pokud je vložený prostor.

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyKeyNameAttribute) ve zdrojovém kódu pro libovolný modul CIL.
/Hlavní: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á.
/Platforma: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 uvozovek (" text "). Tento řetězec je vlastní atribut sestavení a lze ho zobrazit pomocí reflexe.

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

Pokud je text prázdný řetězec, prostředek Název produktu Win32 se zobrazí jako jedna mezera.

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

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyProductAttribute) ve zdrojovém kódu pro libovolný modul CIL.
/productv[ersion]:text Určuje řetězec pro pole Verze produktu 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, použije se jako prostředek verze produktu Win32 /productversion. Pokud nezadáte /productversion, prostředek verze produktu Win32 se naplní prostředkem verze souboru Win32.

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

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyInformationalVersionAttribute) ve zdrojovém kódu pro libovolný modul CIL.
/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 Systému Windows). Výchozí hodnota je lib[rary].
/Šablony:filename Určuje sestavení, filenamez něhož se mají dědit všechna metadata sestavení s výjimkou pole jazykové verze.

Sestavení, které vytvoříte pomocí /template , bude satelitní sestavení.
/Název:text Určuje řetězec pro pole Název 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 Popis Win32, který prostředí používá jako popisný název aplikace. Zobrazí se také v podnabídce Otevřít v místní nabídce 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 jedna mezera.

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

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyTitleAttribute) ve zdrojovém kódu pro libovolný modul CIL.
/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 ochranné známky Win32 .

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

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

Tuto možnost můžete také zadat jako vlastní atribut (AssemblyTrademarkAttribute) ve zdrojovém kódu pro libovolný modul CIL.
/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 bude rovnat 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.X

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

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

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 CIL.
/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říkazy Al.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 pomocí Al.exe vytvořit 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 pomocí nástroje Globální mezipaměť 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 parsovat 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 "option" 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 (Common Language Runtime) – reason

Al.exe oznámili chybu při instalaci sady Visual Studio nebo modulu CLR (Common Language Runtime) ze zadaného důvodu.
al1005 Soubor 'soubor' příliš velký na otevření

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 Při otevírání souboru odpovědi "file" došlo k chybě – 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ávali předání souboru 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 nemohl zapisovat do souboru, jako je výstupní soubor 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ým nastavením pro možnost Option.

Do možnosti příkazového řádku byla předána neočekávaná hodnota. K této chybě dochází například v případě, že zadáte neplatnou hodnotu možnosti /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 jakýkoli program podporující automatizaci nebo program 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 ve 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 "soubor" 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 určeného důvodu. K této chybě dochází například v případě, že nebyl nalezen 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í, pravděpodobně přiřazené prostřednictvím vlastních atributů, které byly přepsány hodnotou předanou pomocí možnosti příkazového řádku Al.exe .
al1022 Při čtení vloženého prostředku "soubor" došlo k chybě – 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 "soubor" – důvod

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

Metadata ve vstupním modulu jsou neplatná. Nástroj, který modul vytvořil, musí být opraven.
al1026 Zadaná verze 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ý kontejner. 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íčů.

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 nemůže 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á generuje soubor .ico) nebo nezadáte možnost /win32res (která generuje 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 rastru (ikona).
al1033 Atribut "attribute" sestavení byl zadán vícekrát s různými hodnotami.

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

Při použití syntaxe Al.exe , která umožňuje zadat vstupní soubor a zkopírovat ho, vznikl konflikt názvů, který zastavil kompilátor. K této chybě dochází například v případě, že 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 je nutné zadat také možnost /main .
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.

Soubor .exe , který nemá sestavení, byl zadán jako vstupní soubor pro Al.exe. Al.exe mohou přijímat pouze soubory dll bez sestavení jako vstupní soubory.
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 "soubor" – důvod

Při otevírání nebo čtení ze souboru zadaného pomocí /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án Al.exe. Zvolte název souboru s menším počtem znaků nebo kratší cestou nebo soubor přejmenujte.
al1046 Identifikátor prostředku 'ID' již byl 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 Při importu souboru "soubor" došlo k chybě – důvod

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

Při otevírání souboru jiné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 vygenerovat čísla verzí sestavení a revizí pro kalendářní 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 prosím použijte novou funkci.

Funkce, kterou dříve podporoval Al.exe , je teď zastaralá. Místo toho použijte doporučenou funkci.
al1051 Chyba při generování atributu attribute – důvod

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

Soubor zadaný pomocí /template musí obsahovat metadata sestavení. Tato chyba značí, že soubor určený parametrem /template neobsahoval sestavení.
al1053 Verze verze zadaná pro možnost není v normálním formátu major.minor.build.revision.

Al.exe zjistila informace o špatně vytvořené verzi zadané pomocí možností /fileversion nebo /productversion.
al1054 Verze verze zadaná pro možnost není v normálním formátu major.minor.build.revision.

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

Tato chyba se zobrazí při sestavování sestavení se silným názvem a odkazem na sestavení, které nemá silný název. Chcete-li tento problém vyřešit, je nutné znovu vygenerovat sestavení silným názvem nebo připojit silný název sestavení pomocí Sn.exe (viz dokumentace pro Sn.exe).

Běžným výskytem této chyby je, že používáte objekty MODELU COM prostřednictvím sestavení obálky, například když přidává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 COM ve vlastnosti projektu "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 tom, jak přiřadit silný název sestavení obálky.

Pokud má sestavení silný název, lze jej nainstalovat do globální mezipaměti sestavení. Odkazovaná sestavení by proto také přešla do globální mezipaměti sestavení. Do globální mezipaměti sestavení mohou 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í je vytvářeno pomocí /target:exe , ale /culture byl zadán. 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 jiné procesy, které můžou přistupovat k souborům.

Restartujte počítač.
al1060 Selhání kryptografie 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' nejde nastavit, protože 'reason'

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ž se na příkazovém řádku několikrát zadá stejný zdrojový, vstupní nebo modulový soubor. Ujistěte se, že název souboru zadáte pouze jednou.
al1063 Veřejný typ "type" je definován ve více 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 Krátký název souboru název souboru nelze vytvořit, pokud již existuje dlouhý název souboru se stejným krátkým názvem.

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

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

Hlavním zdrojem modulů, které nejsou nezávislé, 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í /platformu .
al1072 Sestavení a modul Název modulu nemohou cílit na různé procesory.

Sestavení a modul, které jsou cílem různých procesorů, nelze propojit, protože výsledek musí běžet na jednom procesoru.
al1073 Odkazované sestavení sestavení cílí na jiný procesor.

Nelze propojit sestavení cílená na různé procesory, protože výsledek musí běžet na jednom procesoru.
al1074 Název modulu "Název modulu" uložený v názvu souboru se musí shodovat s názvem souboru.

To je vyžadováno u linkeru. Pokud chcete tento problém vyřešit, nastavte shodu dvou názvů.
al1075 Bylo požadováno zpoždění podepisování, ale nebyl udělen žádný klíč.

Když je sestavení podepsáno zpožděním, kompilátor nevypočítá a uloží podpis, ale rezervuje 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 otestová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 'type' se předává do více sestavení: 'assembly' a 'assembly'.

Typ lze předat pouze do jednoho sestavení.
al1077 Veřejný typ 'type' je definován v 'sestavení' a předán do 'assembly'.

V sestavení, které se generuje, je 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ím bodem je Main metoda v MyClass.

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

Viz také