Share via


Al.exe (Assembly Linker)

Assembly Linker genererar en fil som har ett sammansättningsmanifest från en eller flera filer som antingen är moduler eller resursfiler. En modul är en fil med mellanliggande språk (IL) som inte har något sammansättningsmanifest.

Kommentar

Från och med Visual Studio 2008 bäddar både C# och Visual Basic-kompilatorerna automatiskt in ett Win32-manifest i sammansättningen. Mer information finns i -win32manifest (C#-kompilatoralternativ).

Det här verktyget installeras automatiskt med Visual Studio. Om du vill köra verktyget använder du Visual Studio Developer Command Prompt eller Visual Studio Developer PowerShell.

Skriv följande vid kommandotolken:

Syntax

al sources options

Parametrar

Du kan ange en eller flera av följande sources.

Source beskrivning
file[,target] Kopierar innehållet i file (en modul) till filnamnet som anges av target. Efter kopieringen kompileras target Al.exe till en sammansättning.
/embed[resource]:file[,name[,private]] Bäddar in resursen som anges av file i bilden som innehåller sammansättningsmanifestet. Al.exe kopierar innehållet file i till den bärbara körbara (PE)-avbildningen.

Parametern name är en intern identifierare för resursen. Som standard är resurserna offentliga i sammansättningen (synliga för andra sammansättningar). Om du anger private blir resursen inte synlig för andra sammansättningar.

Om file är en .NET Framework-resursfil som skapats, till exempel av resursfilgeneratorn (Resgen.exe) eller i utvecklingsmiljön, kan den nås med medlemmar i System.Resources. Mer information finns i ResourceManager. För alla andra resurser använder du GetManifestResource* metoderna i Assembly för att komma åt resursen vid körning.

Om endast resursfiler skickas till Al.exe är utdatafilen en satellitresurssammansättning.
/link[resource]:file[,name[,target[,]private]] Länkar en resursfil till en sammansättning. Resursen som anges av file blir en del av sammansättningen. Filen kopieras inte. Parametern file kan vara i valfritt filformat. Du kan till exempel ange en intern DLL som file parameter. Detta gör den interna DLL-filen till en del av sammansättningen så att den kan installeras i den globala sammansättningscache och nås från hanterad kod i sammansättningen. Du kan också göra detta med hjälp av kompilatoralternativet /linkresource . Mer information finns i -linkresource (C#-kompilatoralternativ).

Parametern name är en intern identifierare för resursen. Parametern target anger en sökväg och ett filnamn som Al.exe kopierar file. Efter kopieringen kompileras target Al.exe till en sammansättning. Som standard är resurserna offentliga i sammansättningen (synliga för andra sammansättningar). Om du anger private blir resursen inte synlig för andra sammansättningar.

Om file är en .NET Framework-resursfil som skapats, till exempel av resursfilgeneratorn (Resgen.exe) eller i utvecklingsmiljön, kan den nås med medlemmar i System.Resources namnområdet. Mer information finns i ResourceManager. För alla andra resurser använder du GetManifestResource* metoderna i Assembly klassen för att komma åt resursen vid körning.

Om endast resursfiler skickas till Al.exe är utdatafilen en satellitresurssammansättning.

Du kan ange följande options. Du måste ange /out.

Alternativ Description
/algid:id Anger en algoritm för att hash alla filer i en sammansättning med flera filer förutom filen som innehåller sammansättningsmanifestet. Standardalgoritmen är CALG_SHA1. Se ALG_ID i Platform SDK-dokumentationen för andra algoritmer. För den första versionen av .NET Framework är endast CALG_SHA1 och CALG_MD5 giltiga.

Hash-värdena lagras i filtabellen i sammansättningsmanifestet. Vid installation och inläsning kontrolleras sammansättningens filer mot deras hashvärden.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyAlgorithmIdAttribute) i källkoden för valfri modul.
/base[address]:addr Anger adressen där en DLL ska läsas in på användarens dator vid körning. Program läses in snabbare om du anger basadressen för DLL:er i stället för att låta operativsystemet flytta DLL:erna i processutrymmet.
/bugreport: filename Skapar en fil (filename) som innehåller information för att rapportera buggar.
/comp[any]:text Anger en sträng för fältet Företag i sammansättningen. Placera strängen inom dubbla citattecken (" ") om text den innehåller ett blanksteg. Den här strängen är ett anpassat attribut för sammansättningen och är tillgänglig för visning med reflektion.

Om du inte anger /win32restext visas i Utforskaren som Company egenskapen för filen. Om du anger /win32res visas företagsinformationen i den angivna resursfilen som Company egenskapen i Utforskaren.

Om texten är en tom sträng (") visas Win32-resursen Company som ett enda blanksteg.

Om du anger /win32res påverkar /company inte Win32-resursinformationen.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyCompanyAttribute) i källkoden för valfri CIL-modul.
/config[uration]:text Anger en sträng för fältet Konfiguration i sammansättningen. Placera strängen inom dubbla citattecken (" ") om text den innehåller ett blanksteg. Den här strängen är ett anpassat attribut för sammansättningen och är tillgänglig för visning med reflektion.

Om texten är en tom sträng visas Win32-konfigurationsresursen som ett enda blanksteg.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyConfigurationAttribute) i källkoden för valfri CIL-modul.
/copy[right]:text Anger en sträng för fältet Copyright i sammansättningen. Placera strängen inom dubbla citattecken (" ") om text den innehåller ett blanksteg. Den här strängen är ett anpassat attribut för sammansättningen och är tillgänglig för visning med reflektion.

Om du inte anger /win32res visas /copyright i Utforskaren som Win32 Copyright-resursen.

Om texten är en tom sträng visas Win32 Copyright-resursen som ett enda blanksteg.

Om du anger /win32res påverkar /copyright inte Win32-resursinformationen.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyCopyrightAttribute) i källkoden för valfri CIL-modul.
/c[ulture]:text Anger den kultursträng som ska associeras med sammansättningen. Giltiga värden för kulturer är de som definieras av RFC-dokumentet (Internet Requests for Comments) 1766 med titeln "Taggar för språkidentifiering".

Placera strängen inom dubbla citattecken (" ") om text den innehåller ett blanksteg. Det finns ingen standardkultursträng. Den här strängen är tillgänglig för visning med reflektion.

Information om giltiga text strängar finns i CultureInfo.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyCultureAttribute) i källkoden för valfri CIL-modul.
/delay[sign][+ or -] Anger om sammansättningen ska vara helt eller delvis signerad. Använd /delaysign – om du vill ha en fullständigt signerad sammansättning. Använd /delaysign+ om du bara vill inkludera den offentliga nyckeln i sammansättningen.

När du begär en fullständigt signerad sammansättning hashar Al.exe filen som innehåller manifestet (sammansättningsmetadata) och tecken som hash med den privata nyckeln. Den resulterande digitala signaturen lagras i filen som innehåller manifestet. När en sammansättning är fördröjd signerad beräknar Al.exe inte och lagrar signaturen, utan reserverar bara utrymme i filen så att signaturen kan läggas till senare.

Standardvärdet är /delaysign-.

Alternativet /delaysign har ingen effekt om det inte används med /keyfile eller /keyname.

Om du till exempel använder /delaysign+ kan en testare placera sammansättningen i den globala cachen. Efter testningen kan du helt signera sammansättningen genom att inkludera den privata nyckeln i sammansättningen.

Obs! Innan du använder Gacutil.exe (Global Assembly Cache Tool) för att placera en fördröjningssignerad sammansättning i den globala cachen använder du Sn.exe (strong name tool) för att registrera sammansättningen för verifieringshopp. Exempel: Sn.exe –Vr delaySignedAssembly Använd endast detta för utveckling.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyDelaySignAttribute) i källkoden för valfri CIL-modul.
/descr[iption]:text Anger en sträng för fältet Description i sammansättningen. Placera strängen inom dubbla citattecken (" ") om text den innehåller ett blanksteg. Den här strängen är ett anpassat attribut för sammansättningen och är tillgänglig för visning med reflektion.

Om du inte anger /win32res visas /description i Utforskaren som resursen Win32 Comments.

Om text är en tom sträng visas resursen Win32 Comments som ett enda blanksteg.

Om du anger /win32res påverkar /description inte Win32-resursinformationen.

Du kan också ange det här alternativet som ett anpassat attribut (Description) i källkoden för valfri CIL-modul.
/e[vidence]:file Bäddar file in i sammansättningen med resursnamnet Security.Evidence.

Du kan inte använda Security.Evidence för vanliga resurser.
/fileversion:version Anger en sträng för fältet Filversion i sammansättningen. Den här strängen är ett anpassat attribut för sammansättningen och är tillgänglig för visning med reflektion.

Om du inte anger /win32res används /fileversion som win32-filversionsresurs. Om du inte anger /fileversion fylls Win32-filversionsresursen i av win32-sammansättningsversionsresursen.

Om /win32res anges påverkar /fileversion inte Win32-resursen.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyFileVersionAttribute) i källkoden för valfri CIL-modul.
/Flaggor:flags Anger ett värde för fältet Flags i sammansättningen. Möjliga värden för flags:

0x0000
Sammansättningen är sida vid sida kompatibel.

0x0010
Sammansättningen kan inte köras med andra versioner om de körs i samma programdomän.

0x0020
Sammansättningen kan inte köras med andra versioner om de körs i samma process.

0x0030
Sammansättningen kan inte köras med andra versioner om de körs på samma dator.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyFlagsAttribute) i källkoden för valfri CIL-modul.
/fullpaths Orsakar Al.exe att använda den absoluta sökvägen för alla filer som rapporteras i ett felmeddelande.
/Hjälp Visar kommandosyntax och alternativ för verktyget.
/keyf[ile]:filename Anger en fil (filename) som innehåller ett nyckelpar eller bara en offentlig nyckel för att signera en sammansättning. Kompilatorn infogar den offentliga nyckeln i sammansättningsmanifestet och signerar sedan den slutliga sammansättningen med den privata nyckeln. Se verktyget Starkt namn (Sn.exe) för information om hur du genererar nyckelfiler och installerar nyckelpar i nyckelcontainrar.

Om du använder fördröjd signering har den här filen vanligtvis den offentliga nyckeln, men inte den privata nyckeln.

Informationen om den offentliga nyckeln (för nyckelparet) visas i fältet .publickey i sammansättningen.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyKeyFileAttribute) i källkoden för valfri CIL-modul.

Om både /keyfile och /keyname anges (antingen med kommandoradsalternativ eller med anpassat attribut) i samma kompilering , provar Al.exe först containern som angetts med /keyname. Om det lyckas signeras sammansättningen med informationen i nyckelcontainern. Om Al.exe inte hittar nyckelcontainern provar den fil som angetts med /keyfile. Om det lyckas signeras sammansättningen med informationen i nyckelfilen och nyckelinformationen installeras i nyckelcontainern (liknar -i-alternativet i Sn.exe) så att alternativet /keyname blir giltigt vid nästa kompilering.
/keyn[ame]:text Anger en container som innehåller ett nyckelpar. Detta signerar sammansättningen (ger den ett starkt namn) genom att infoga en offentlig nyckel i sammansättningsmanifestet. Al.exe signerar sedan den slutliga sammansättningen med den privata nyckeln.

Använd Sn.exe för att generera ett nyckelpar.

Nyckelinformationen visas i fältet .publickey i sammansättningen.

Placera text inom dubbla citattecken (" ") om det finns ett inbäddat utrymme.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyKeyNameAttribute) i källkoden för valfri CIL-modul.
/Main:method Anger det fullständigt kvalificerade namnet (class.method) för metoden som ska användas som startpunkt när du konverterar en modul till en körbar fil.
/nologo Undertrycker banderollen eller logotypen som visas på kommandoraden när du anropar Al.exe.
/out:filename Anger namnet på filen som skapas av Al.exe. Det här är ett obligatoriskt alternativ.
/Plattform:text Begränsar vilken plattform den här koden kan köras på. måste vara en av x86, Itanium, x64, anycpu (standard) eller anycpu32bitpreferred.
/prod[uct]:text Anger en sträng för fältet Produkt i sammansättningen. Placera strängen inom dubbla citattecken (" ") om text den innehåller ett blanksteg. Den här strängen är ett anpassat attribut för sammansättningen och är tillgänglig för visning med reflektion.

Om du inte anger /win32res visas /product i Utforskaren som win32-produktnamnresursen.

Om texten är en tom sträng visas resursen Win32 Product Name som ett enda blanksteg.

Om du anger /win32res påverkar /product inte Win32-resursinformationen.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyProductAttribute) i källkoden för valfri CIL-modul.
/productv[ersion]:text Anger en sträng för fältet Produktversion i sammansättningen. Placera strängen inom dubbla citattecken (" ") om text den innehåller ett blanksteg. Den här strängen är ett anpassat attribut för sammansättningen och är tillgänglig för visning med reflektion.

Om du inte anger /win32res används /productversion som win32-produktversionsresurs. Om du inte anger /productversion fylls win32-produktversionsresursen i av win32-filversionsresursen.

Om du anger /win32res påverkar /productversion inte Win32-resursinformationen.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyInformationalVersionAttribute) i källkoden för valfri CIL-modul.
/t[arget]:lib[rary] | exe | win[exe] Anger filformatet för utdatafilen: lib[rary] (kodbibliotek), exe (konsolprogram) eller win[exe] (Windows-baserat program). Standardvärdet är lib[rary].
/Mall:filename Anger sammansättningen , filenamefrån vilken alla sammansättningsmetadata ska ärvas, förutom kulturfältet.

En sammansättning som du skapar med /template är en satellitsammansättning.
/Titel:text Anger en sträng för fältet Rubrik i sammansättningen. Placera strängen inom dubbla citattecken (" ") om text den innehåller ett blanksteg. Den här strängen är ett anpassat attribut för sammansättningen och är tillgänglig för visning med reflektion.

Om du inte anger /win32res visas /title i Utforskaren som win32-beskrivningsresursen, som används av gränssnittet som det egna namnet på ett program. Den visas också på undermenyn Öppna med på snabbmenyn för en filtyp som det finns flera stödprogram för.

Om texten är en tom sträng visas resursen Win32 Description som ett enda blanksteg.

Om du anger /win32res påverkar /title inte Win32-resursinformationen.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyTitleAttribute) i källkoden för valfri CIL-modul.
/trade[mark]:text Anger en sträng för fältet Varumärke i sammansättningen. Placera strängen inom dubbla citattecken (" ") om text den innehåller ett blanksteg. Den här strängen är ett anpassat attribut för sammansättningen och är tillgänglig för visning med reflektion.

Om du inte anger /win32res visas /trademark i Utforskaren som Win32 Trademark-resursen.

Om text är en tom sträng visas Win32 Trademark-resursen som ett enda blanksteg.

Om du anger /win32res påverkar /trademark inte Win32-resursinformationen.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyTrademarkAttribute) i källkoden för valfri CIL-modul.
/v[ersion]:version Anger versionsinformation för den här sammansättningen. Versionssträngens format är major.minor.build.revision. Standardvärdet är 0.

Om du anger /version måste du ange major. Om du anger major och minorkan du ange en asterisk (*)för build. Detta leder build till att det är lika med antalet dagar sedan den 1 januari 2000, lokal tid och revision att vara lika med antalet sekunder sedan midnatt den aktuella dagen, lokal tid, dividerat med 2.

Om du anger major, minoroch build, kan du ange en asterisk för revision. Detta leder revision till att det är lika med antalet sekunder sedan midnatt den aktuella dagen, lokal tid, dividerat med 2.

För att sammanfatta är de giltiga versionssträngarna följande:

X

X.X

X.X.*

X.X.X

X.X.X.*

X.X.X.X.X

där X är en osignerad kort konstant utom 65535 (0-65534).

Om du inte anger /win32res används /version som Resurs för Win32-sammansättningsversion.

Om du inte anger /win32res, /productversion och /fileversion används /version för resurserna Sammansättningsversion, Filversion och Produktversion Win32.

Om du anger /win32res påverkar /version inte Win32-resursinformationen.

Du kan också ange det här alternativet som ett anpassat attribut (AssemblyVersionAttribute) i källkoden för valfri CIL-modul.
/win32icon:filename Infogar en .ico fil i sammansättningen. Den .ico filen ger utdatafilen önskat utseende i Utforskaren.
/win32res:filename Infogar en Win32-resurs (.res-fil) i utdatafilen. En Win32-resursfil kan skapas med hjälp av resurskompilatorn. Resurskompilatorn anropas när du kompilerar ett Visual C++-program. en .res-fil skapas från .rc-filen.
@filename Anger en svarsfil som innehåller Al.exe kommandon.

Kommandon i svarsfilen kan visas en per rad eller på samma rad, avgränsade med ett eller flera blanksteg.
/? Visar kommandosyntax och alternativ för verktyget.

Kommentarer

Alla Visual Studio-kompilatorer skapar sammansättningar. Men om du har en eller flera moduler (metadata utan manifest) kan du använda Al.exe för att skapa en sammansättning med manifestet i en separat fil.

Om du vill installera sammansättningar i cacheminnet tar du bort sammansättningar från cacheminnet eller listar innehållet i cacheminnet genom att använda verktyget Global Assembly Cache (Gacutil.exe).

Fel och varningar

I följande tabell visas de fel som genereras av Al.exe.

Fel beskrivning
al1001 Internt kompilatorfel

Försök att avgöra om Al.exe misslyckas på grund av dess oförmåga att parsa oväntad syntax. Kontakta sedan Microsoft Product Support Services.
al1002 Slut på minne

Al.exe fick slut på minne och stoppades. Öka mängden tillgängligt minne.
al1003 Kompilatoralternativet "alternativ" måste följas av ett argument

Al.exe förväntade sig att ett argument skulle skickas till ett kommandoradsalternativ. Om du till exempel anger /algid:, måste du skicka en algoritmidentifierare.
al1004 Oväntat fel vid common language runtime-initiering – "orsak"

Al.exe rapporterade ett fel med installationen av Visual Studio eller den vanliga språkkörningen av den angivna orsaken.
al1005 Filen är för stor för att öppnas

Alla filer som öppnas av Al.exe måste vara mindre än 4 GIGABYTE (GB).
al1006 Svarsfilen "file" har redan inkluderats

Samma svarsfil har angetts (@file) mer än en gång på kommandoraden. Svarsfilen kan bara inkluderas en gång.
al1007 Det gick inte att öppna svarsfilen "file" – "reason"

Al.exe kan inte öppna den angivna svarsfilen av den angivna orsaken.
al1008 Filspecifikation saknas för kommandoradsalternativet "alternativ"

Al.exe förväntade sig att en fil skulle skickas till ett kommandoradsalternativ. Om du till exempel anger alternativet /out måste du ange en fil.
al1009 Det går inte att öppna filen för att skriva

Al.exe kunde inte skriva till en fil, till exempel sammansättningsfilen för utdata. Disken kan vara full, filen kan vara skrivskyddad eller så har du kanske inte behörighet till filen.
al1010 Kommandoradssyntaxfel: ":text" saknas för alternativet "alternativ"

Al.exe förväntade sig att ett argument skulle skickas till ett kommandoradsalternativ. Om du till exempel anger alternativet /title måste du skicka en sträng.
al1011 Filen är en körbar fil och kan inte öppnas som en textfil

En binär fil angavs där en textfil förväntades. Det här felet uppstår till exempel om en binär fil skickas på kommandoraden som en svarsfil.
al1012 "värde" är inte en giltig inställning för alternativet "alternativ"

Ett oväntat värde skickades till ett kommandoradsalternativ. Det här felet uppstår till exempel om du anger ett ogiltigt värde för alternativet /target .
al1013 Okänt kommandoradsalternativ: "alternativ"

Ett ogiltigt kommandoradsalternativ har angetts.
al1014 Oväntat initieringsfel – "orsak"

Al.exe identifierade ett COM-initieringsfel. Detta kan bero på brist på minne, men en mer sannolik orsak är systemets DLL-filer. Du bör se ett liknande fel om du kör något Automation-medvetet eller COM-medvetet program, till exempel Microsoft Visual Studio.

Installera om operativsystemet.
al1015 Det går inte att hitta meddelandefilen "alinkui.dll"

Al.exe kräver Alinkui.dll. Kontrollera att den här filen finns på din sökväg. Om det behövs kopierar du den från produkt-CD:n.
al1016 Inga giltiga indatafiler har angetts

Al.exe kräver en eller flera indatafiler som inte har sammansättningsinformation.
al1017 Inget målfilnamn har angetts

Det obligatoriska /out-alternativet som anger målfilens namn saknades.
al1018 Det gick inte att läsa in den obligatoriska filen

Vissa DLL-filer kan inte läsas in. Installera om Visual Studio eller Windows SDK.
al1019 Metadatafel vid skapande av sammansättning – orsak

Genereringen av sammansättningen avbröts av den angivna orsaken. Det här felet uppstår till exempel om en fil som du anger med alternativet /win32res inte hittas.
al1020 Ignorera den inkluderade sammansättningen "fil"

En indatafil som innehöll en sammansättning har angetts. Al.exe indatafiler får inte innehålla sammansättningar.
al1021 "inställning" : åsidosätta föregående inställning

En modul hade ett värde för en viss inställning, eventuellt tilldelad via anpassade attribut, som åsidosätts med ett värde som skickades med hjälp av ett Al.exe kommandoradsalternativ.
al1022 Fel vid läsning av inbäddad resurs –orsak

Al.exe kan inte läsa filen som skickades till alternativet /embedresource av den angivna orsaken.
al1023 Fel vid inbäddning av resursen "file" – orsak

Operativsystemet kan inte bädda in resursfilen i sammansättningen av den angivna orsaken.
al1025 ComType-postens post pekar på en ogiltig filpost

Metadata i indatamodulen är ogiltiga. Verktyget som skapade modulen måste vara fast.
al1026 Den angivna versionen är ogiltig

Se information om alternativet /version för giltiga format.
al1028 Nyckelfilen "file" saknar den privata nyckel som krävs för signering

En nyckelfil som endast innehåller den offentliga nyckeln skickades till alternativet /keyfile . Använd verktyget Starkt namn (Sn.exe) för att generera en fil som har både en offentlig och privat nyckel, enligt följande kommando.

sn -k keypair.snk.
al1029 Nyckelcontainerns namn "container" finns inte

Värdet som skickas till alternativet /keyname är inte en giltig container. Använd verktyget Starkt namn (Sn.exe) för att skapa en container.
al1030 Kryptografitjänsten är inte korrekt installerad eller har ingen lämplig nyckelprovider

Du kan behöva installera om operativsystemet eller installera ett kryptografiskt verktyg som användes för att skapa nyckeln.
al1031 Fel vid läsning av ikonen "file" – orsak

Al.exe kan inte läsa filen som skickades till alternativet /win32icon av den angivna orsaken
al1032 Fel vid generering av resurser för "fil" – orsak

Al.exe kan inte skapa en fil på grund av otillräckligt diskutrymme eller något annat fel. Det här felet uppstår när du anger alternativet /win32icon (som genererar en .ico fil) eller inte anger alternativet /win32res (som genererar en fil med resursinformation).

Om du inte kan lösa problemet med filgenereringen använder du /win32res, som anger en fil som kan innehålla information om version eller bitmapp (ikon).
al1033 Det anpassade attributet "attribute" för sammansättning har angetts flera gånger med olika värden

Olika värden skickades till två förekomster av samma anpassade attribut i källmoduler som anges som indata till Al.exe.
al1034 Det går inte att kopiera eller byta namn på sammansättningens fil

När du använde den Al.exe syntax som gör att du både kan ange en indatafil och kopiera den, uppstod en namnkonflikt som stoppade kompilatorn. Det här felet uppstår till exempel om du anger input.dll,somename.dll /out:somename.dll.
al1035 Bibliotek kan inte ha en startpunkt

Du kan inte ange både alternativet /target:lib (standard) och alternativet /main .
al1036 Startpunkt krävs för körbara program

När du använder alternativet /target:exe eller /target:win måste du också ange alternativet /main .
al1037 Det går inte att hitta startpunktsmetoden "main"

Al.exe kan inte hitta en Main metod på den plats som anges av alternativet /main.
al1039 Initieringen av den globala sammansättningens cachehanterare misslyckades – orsak

Installera om Visual Studio eller Windows SDK.
al1040 Det gick inte att installera sammansättningen i cacheminnet – orsak

Endast signerade sammansättningar kan installeras i cacheminnet. Mer information finns i Global Sammansättningscache.
al1041 "metod": kan inte vara startpunkten eftersom signaturen eller synligheten är felaktig, eller så är den allmän

En metod har angetts med alternativet /main , men den metoden är inte statisk, returnerar int inte eller void, var generisk eller har ogiltiga argument.
al1042 "exe": EXE:er kan inte läggas till moduler

En .exe fil som inte har någon sammansättning har angetts som en indatafil som ska Al.exe. Al.exe kan bara ta dll-filer utan sammansättningar som indatafiler.
al1043 Manifestfilens namn får inte vara samma som några moduler

Namnet som anges med alternativet /out kan inte vara samma som något av filnamnen som anges som indata för Al.exe.
al1044 Fel vid läsning av nyckelfilen "file" – orsak

Ett fel uppstod när du öppnade eller läste från en fil som angetts med /keyfile eller AssemblyKeyFileAttribute.
al1045 Filnamnet "fil" är för långt eller ogiltigt

Ett filnamn som är längre än 260 tecken skickades till Al.exe. Välj ett filnamn med färre tecken eller en kortare sökväg eller byt namn på filen.
al1046 Resursidentifierarens ID har redan använts i den här sammansättningen

Två resurser, inbäddade eller länkade, har samma identifierare eller namn (det andra argumentet). Ta bort eller byt namn på en av de resurser som är i konflikt.
al1047 Det gick inte att importera filen 'file'— orsak

Det går inte att öppna en modulfil av den angivna orsaken.
al1048 Det gick inte att importera modulen "modul" för sammansättningen "sammansättning" – orsak

Ett fel uppstod när en ickemanifestfil i en flerfilssammansättning skulle öppnas. Det här felet genereras inte direkt av Al.exe, utan kan skickas programmatiskt till en process som använder Al.exe.
al1049 Det går inte att generera versionsnummer automatiskt för datum före den 1 januari 2000

Systemklockan på datorn är inställd på ett tidigare datum än den 1 januari 2000.
al1050 Funktionen som du använder "gammal funktion" stöds inte längre. använd "ny funktion" i stället

En funktion som tidigare stöds av Al.exe är nu föråldrad. Använd den rekommenderade funktionen i stället.
al1051 Ett fel uppstod när attributet "attributet" skulle genereras – orsak

Ett anpassat sammansättningsattribut bearbetades inte av Al.exe av den angivna orsaken.
al1052 Filnamn är inte en sammansättning

Filen som anges med /template måste innehålla sammansättningsmetadata. Det här felet anger att filen som anges av /template inte innehöll någon sammansättning.
al1053 Versionen "version" som anges för alternativet är inte i det normala formatet "major.minor.build.revision"

Al.exe upptäckt felaktig versionsinformation som angetts med alternativen /fileversion eller /productversion.
al1054 Versionen "version" som anges för alternativet är inte i det normala formatet "major.minor.build.revision"

Al.exe upptäckt felaktig versionsinformation som angetts SatelliteContractVersionAttributemed .
al1055 Den refererade sammansättningen "filename" har inget starkt namn

Det här felet utfärdas när du skapar en sammansättning med ett starkt namn och refererar till en sammansättning som inte har ett starkt namn. För att åtgärda detta måste du antingen återskapa sammansättningen med ett starkt namn eller koppla ett starkt namn till sammansättningen med hjälp av Sn.exe (se dokumentationen för Sn.exe).

En vanlig förekomst av det här felet är när du använder COM-objekt via omslutningssammansättningar, till exempel när du lägger till en referens till en COM-modul i ett C#-projekt via Visual Studio IDE. För att undvika felet kan du ange den starka namnnyckelfilen för COM-omslutningssammansättningar i projektegenskapen "Wrapper Assembly Key File/Name"

Om du skapar omslutningssammansättningen via tlbimp kan du läsa dokumentationen för tlbimp för information om hur du tilldelar ett starkt namn till omslutningssammansättningen.

Om en sammansättning har ett starkt namn kan den installeras i den globala sammansättningscacheminnet. Därför skulle refererade sammansättningar också gå in i den globala sammansättningscacheminnet. Endast sammansättningar med starka namn kan gå in i den globala sammansättningscacheminnet.
al1056 Den refererade sammansättningen "filename" är en lokaliserad satellitsammansättning

En sammansättning som skapats med hjälp AssemblyCultureAttribute av attributet refererades till när den aktuella sammansättningen skapades. Attributet AssemblyCultureAttribute anger att filen är en lokaliserad satellitsammansättning och att det inte är lämpligt att referera till en satellitsammansättning. Referera till den överordnade huvudsammansättningen i stället.
al1057 Körbara filer kan inte lokaliseras, kultur bör alltid vara tom

En sammansättning skapas med hjälp av /target:exe men /culture har angetts. Sammansättningar i .exe kan inte ha information i fältet Kultur.
al1058 "file" är en sammansättning och kan inte läggas till som en modul

I en C++-kompilering skickades /assemblymodule (länkalternativ) en fil som innehöll en sammansättning.
al1059 Okänt fel (kod)

Al.exe fått en okänd felkod (code).

Möjliga lösningar omfattar följande:

Installera om Visual Studio.

Installera om Windows SDK.

Sök efter filer som saknas.

Kontrollera om det finns tillräckligt med diskutrymme.

Sök efter tillräckligt med minne.

Stoppa andra processer som kan komma åt filerna.

Starta om datorn.
al1060 Kryptografiskt fel vid skapande av hashar – orsak

Ett fel uppstod när fil-hashvärden skapades för en sammansättning med flera filer.
al1061 Det går inte att ange alternativet "alternativ" på grund av "orsak"

Det angivna värdet för det här alternativet är ogiltigt av den angivna orsaken.
al1062 Modulen "modul" har angetts flera gånger. den inkluderas bara en gång

Den här varningen genereras när samma käll-, indata- eller modulfil anges flera gånger på kommandoraden. Kontrollera att du bara anger filnamnet en gång.
al1063 Offentlig typ av typ definieras på flera platser i den här sammansättningen: "file1" och "file2"

Samma typ hittades i mer än en modul i sammansättningen. Endast en version av varje typ kan finnas i en sammansättning.
al1064 Det går inte att ange flera /bugreport-alternativ.

Endast ett /bugreport-alternativ tillåts.
al1065 Filnamnet "Filnamn" är för långt eller ogiltigt

Det angivna filnamnet är längre än det högsta tillåtna.
al1066 Tecken 'tecken' tillåts inte på kommandoraden eller i svarsfiler

Ett ogiltigt tecken hittades, antingen på kommandoraden eller i en fil.
al1067 "filename" är en binär fil i stället för en textfil

Filen är i binärt format i stället för text.
al1068 Modulen "ModuleName" har redan definierats i den här sammansättningen. Varje länkad resurs och modul måste ha ett unikt filnamn.

Modulen inträffar mer än en gång i den här sammansättningen.
al1069 Det går inte att skapa ett kort filnamn när det redan finns ett långt filnamn med samma korta filnamn

Den aktuella filen har ett namn som är den korta versionen av ett filnamn som redan finns. Kompilering av LongFileName.cs och sedan omkompilering med namnet LongFi~1.cs orsakar ett kompilatorfel som liknar detta. Om kompilatorns utdatafiler som har långa namn har tagits bort, men de analoga länkfilerna kvarstod, kan det här felet inträffa.
al1070 Agnostisk sammansättning kan inte ha en processorspecifik modul "Modulnamn"

Om du skapar med hjälp av /platform:agnostic (eller om du inte anger /platform) genereras ett fel om du försöker lägga till en modul (med hjälp av /addmodule) som inte är agnostisk. Det här är som att försöka länka en i386 obj-fil till en ia64 obj.

Huvudkällan för icke-agnostiska moduler är C++. Om du använder /addmodule med en C++-modul kan du behöva ändra dina byggskript för att ange lämplig /plattformsinställning .
al1072 Sammansättning och modulen "Modulnamn" kan inte rikta in sig på olika processorer

Du kan inte länka en sammansättning och en modul som är avsedd för olika processorer, eftersom resultatet måste köras på en enda processor.
al1073 Den refererade sammansättningen "sammansättning" riktar sig mot en annan processor

Du kan inte länka sammansättningar som är avsedda för olika processorer, eftersom resultatet måste köras på en enda processor.
al1074 Modulnamnet "Modulnamn" som lagras i "Filnamn" måste matcha dess filnamn

Detta krävs av länkaren. Lös problemet genom att göra så att de två namnen matchar.
al1075 Fördröjningssignering begärdes, men ingen nyckel angavs

När en sammansättning är fördröjd signerad beräknar och lagrar kompilatorn inte signaturen, utan reserverar utrymme i filen så att signaturen kan läggas till senare.

Om du till exempel använder /delaysign+ kan en testare placera sammansättningen i den globala cachen. Efter testningen kan du signera sammansättningen helt genom att lägga till den privata nyckeln i sammansättningen med hjälp av verktyget Assembly Linker.
al1076 Typen "type" vidarebefordras till flera sammansättningar: "sammansättning" och "sammansättning".

En typ kan bara vidarebefordras till en sammansättning.
al1077 Den offentliga typen "typ" definieras i "sammansättning" och vidarebefordras till "sammansättning".

Det finns en duplicerad offentlig typ i sammansättningen som genereras. Den ena är en giltig typdefinition och den andra är en typvidare.

Exempel

Följande kommando skapar en körbar fil t2a.exe med en sammansättning från modulen t2.netmodule . Startpunkten är Main metoden i MyClass.

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

Se även