Al.exe (Assembly Linker)Al.exe (Assembly Linker)

Lo strumento Assembly Linker consente di generare un file con un manifesto dell'assembly a partire da uno o più moduli o file di risorse.The Assembly Linker generates a file that has an assembly manifest from one or more files that are either modules or resource files. Un modulo è un file di linguaggio intermedio (IL) privo di manifesto dell'assembly.A module is an intermediate language (IL) file that does not have an assembly manifest.

Nota

A partire da Visual Studio 2008, i compilatori C# e Visual Basic incorporano automaticamente un manifesto Win32 nell'assembly.Starting with Visual Studio 2008, both the C# and Visual Basic compilers automatically embed a Win32 manifest into the assembly. Per ulteriori informazioni, vedere -win32manifest (C# opzioni del compilatore).For more information, see -win32manifest (C# Compiler Options).

Viene installato automaticamente con Visual Studio.This tool is automatically installed with Visual Studio. Per eseguire lo strumento, usare il Prompt dei comandi per gli sviluppatori per Visual Studio (o il prompt dei comandi di Visual Studio in Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Per altre informazioni, vedere Prompt dei comandi.For more information, see Command Prompts.

Al prompt dei comandi digitare quanto segue:At the command prompt, type the following:

SintassiSyntax

al sources options

ParametriParameters

È possibile specificare una o più sources tra quelle riportate di seguito.You can specify one or more of the following sources.

OrigineSource DescrizioneDescription
file[,target]file[,target] Copia il contenuto del modulo file nel nome file specificato da target.Copies the contents of file (a module) to the file name specified by target. Al termine dell'operazione di copia, Al.exe compila target in un assembly.After copying, Al.exe compiles target into an assembly.
/embed[risorse]: file[,name[,private]]/embed[resource]: file[,name[,private]] Incorpora la risorsa specificata da file nell'immagine contenente il manifesto dell'assembly. Al.exe copia i contenuti di file nell'immagine eseguibile di tipo PE.Embeds the resource specified by file in the image that contains the assembly manifest; Al.exe copies the contents of file into the portable executable (PE) image.

Il parametro name è un identificatore interno per la risorsa.The name parameter is an internal identifier for the resource. Per impostazione predefinita nell'assembly le risorse sono pubbliche, ovvero visibili ad altri assembly.By default, resources are public in the assembly (visible to other assemblies). La specifica del parametro private rende le risorse non visibili ad altri assembly.Specifying private makes the resource not visible to other assemblies.

Se file è un file di risorse .NET Framework creato ad esempio dal generatore di file di risorse (Resgen.exe) oppure nell'ambiente di sviluppo, è possibile accedervi tramite i membri in System.Resources.If file is a .NET Framework resource file created, for example, by the Resource File Generator (Resgen.exe) or in the development environment, it can be accessed with members in the System.Resources. Per ulteriori informazioni, vedere ResourceManager.For more information, see ResourceManager. Per tutte le altre risorse, usare i metodi GetManifestResource* di Assembly per accedere alla risorsa in fase di esecuzione.For all other resources, use the GetManifestResource* methods in the Assembly to access the resource at run time.

Se ad Al.exe vengono passati solo file di risorse, il file di output sarà un assembly di risorse satellite.If only resource files are passed to Al.exe, the output file is a satellite resource assembly.
/link[risorse]: file[,name[,target[,private]]]/link[resource]: file[,name[,target[,private]]] Collega un file di risorse a un assembly.Links a resource file to an assembly. La risorsa specificata da file diventa parte dell'assembly; il file non viene copiato.The resource specified by file becomes part of the assembly; the file is not copied. Il parametro file può essere in qualsiasi formato di file.The file parameter can be in any file format. È possibile, ad esempio, specificare una DLL nativa come parametro file.For example, you can specify a native DLL as the file parameter. La DLL nativa diventa quindi parte dell'assembly in modo che possa essere installata nella Global Assembly Cache e che sia possibile accedervi dal codice gestito nell'assembly.This will make the native DLL part of the assembly so that it can be installed into the global assembly cache and accessed from managed code in the assembly. Per ottenere lo stesso risultato è anche possibile usare l'opzione del compilatore /linkresource.You can also do this by using the /linkresource compiler option. Per ulteriori informazioni, vedere -linkresource ((C# opzioni del compilatore).For more information, see -linkresource (C# Compiler Options).

Il parametro name è un identificatore interno per la risorsa.The name parameter is an internal identifier for the resource. Il parametro target specifica un percorso e un nome file in cui Al.exe copia file .The target parameter specifies a path and file name into which Al.exe copies the file. Al termine dell'operazione di copia, Al.exe compila target in un assembly.After copying, Al.exe compiles target into an assembly. Per impostazione predefinita nell'assembly le risorse sono pubbliche, ovvero visibili ad altri assembly.By default, resources are public in the assembly (visible to other assemblies). La specifica del parametro private rende le risorse non visibili ad altri assembly.Specifying private makes the resource not visible to other assemblies.

Se file è un file di risorse .NET Framework creato ad esempio dal generatore di file di risorse (Resgen.exe) oppure nell'ambiente di sviluppo, è possibile accedervi tramite i membri dello spazio dei nomi System.Resources.If file is a .NET Framework resource file created, for example, by the Resource File Generator (Resgen.exe) or in the development environment, it can be accessed with members in the System.Resources namespace. Per ulteriori informazioni, vedere ResourceManager.For more information, see ResourceManager. Per tutte le altre risorse, usare i metodi GetManifestResource * della classe Assembly per accedere alla risorsa in fase di esecuzione.For all other resources, use the GetManifestResource * methods in the Assembly class to access the resource at run time.

Se ad Al.exe vengono passati solo file di risorse, il file di output sarà un assembly di risorse satellite.If only resource files are passed to Al.exe, the output file is a satellite resource assembly.

È possibile specificare le options seguenti. L'opzione /out è obbligatoria.You can specify the following options; you must specify /out.

OpzioneOption DescrizioneDescription
/algid: id/algid: id Specifica un algoritmo per generare un hash per tutti i file di un assembly su più file, ad eccezione del file contenente il manifesto dell'assembly.Specifies an algorithm to hash all files in a multifile assembly except the file that contains the assembly manifest. L'algoritmo predefinito è CALG_SHA1.The default algorithm is CALG_SHA1. Per altri algoritmi, vedere ALG_ID nella documentazione relativa a Platform SDK.See ALG_ID in the Platform SDK documentation for other algorithms. Per la prima versione di .NET Framework sono validi solo gli algoritmi CALG_SHA1 e CALG_MD5.For the first release of the .NET Framework, only CALG_SHA1 and CALG_MD5 are valid.

I valori hash vengono archiviati nella tabella dei file del manifesto dell'assembly.The hash values are stored in the file table of the assembly manifest. In fase di installazione e caricamento i file dell'assembly vengono verificati rispetto ai valori hash.At installation and load time, the assembly's files are checked against their hashes.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyAlgorithmIdAttribute) nel codice sorgente di qualsiasi modulo.You can also specify this option as a custom attribute (AssemblyAlgorithmIdAttribute) in the source code for any module.
/base[address]: addr/base[address]: addr Specifica l'indirizzo in corrispondenza del quale caricare una DLL nel computer dell'utente in fase di esecuzione.Specifies the address at which a DLL will be loaded on the user's computer at run time. Il caricamento delle applicazioni risulta più veloce se si specifica l'indirizzo di base delle DLL anziché lasciare al sistema operativo il compito di rilocare le DLL nello spazio di processo.Applications load faster if you specify the base address of the DLLs, instead of letting the operating system relocate the DLLs in the process space.
/bugreport: filename/bugreport: filename Crea un file (filename) contenente informazioni per la segnalazione dei bug.Creates a file (filename) that contains information for reporting bugs.
/comp[any]: text/comp[any]: text Specifica una stringa per il campo Società dell'assembly.Specifies a string for the Company field in the assembly. Se text contiene uno spazio, racchiudere la stringa tra virgolette doppie (" ").Place the string in double quotation marks (" ") if text contains a space. Questa stringa è un attributo personalizzato dell'assembly ed è visualizzabile mediante reflection.This string is a custom attribute on the assembly and is available for viewing with reflection.

Se non si specifica /win32res, l'opzione text viene visualizzata in Esplora file come proprietà Company del file.If you do not specify /win32res, text appears in File Explorer as the Company property for the file. Se si specifica /win32res, come proprietà Company in Esplora file vengono visualizzate le informazioni sulla società abbinate al file di risorse specificato.If you specify /win32res, the company information in the specified resource file appears as the Company property in File Explorer.

Se text è una stringa vuota (""), la risorsa Company Win32 verrà visualizzata come spazio singolo.If text is an empty string (""), the Win32 Company resource appears as a single space.

Se si specifica /win32res, /company non influisce sulle informazioni della risorsa Win32.If you specify /win32res, /company will not affect the Win32 resource information.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyCompanyAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyCompanyAttribute) in the source code for any MSIL module.
/config [uration]: text/config[uration]: text Specifica una stringa per il campo Configurazione dell'assembly.Specifies a string for the Configuration field in the assembly. Se text contiene uno spazio, racchiudere la stringa tra virgolette doppie (" ").Place the string in double quotation marks (" ") if text contains a space. Questa stringa è un attributo personalizzato dell'assembly ed è visualizzabile mediante reflection.This string is a custom attribute on the assembly and is available for viewing with reflection.

Se text è una stringa vuota, la risorsa Configurazione Win32 verrà visualizzata come spazio singolo.If text is an empty string, the Win32 Configuration resource appears as a single space.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyConfigurationAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyConfigurationAttribute) in the source code for any MSIL module.
/copy[right]: text/copy[right]: text Specifica una stringa per il campo Copyright dell'assembly.Specifies a string for the Copyright field in the assembly. Se text contiene uno spazio, racchiudere la stringa tra virgolette doppie (" ").Place the string in double quotation marks (" ") if text contains a space. Questa stringa è un attributo personalizzato dell'assembly ed è visualizzabile mediante reflection.This string is a custom attribute on the assembly and is available for viewing with reflection.

Se non si specifica /win32res, l'opzione /copyright viene visualizzata in Esplora file come risorsa Copyright Win32.If you do not specify /win32res, /copyright appears in File Explorer as the Win32 Copyright resource.

Se text è una stringa vuota, la risorsa Copyright Win32 verrà visualizzata come spazio singolo.If text is an empty string, the Win32 Copyright resource appears as a single space.

Se si specifica /win32res, /copyright non influisce sulle informazioni della risorsa Win32.If you specify /win32res, /copyright will not affect the Win32 resource information.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyCopyrightAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyCopyrightAttribute) in the source code for any MSIL module.
/c[ulture]: text/c[ulture]: text Specifica la stringa di impostazioni cultura da associare all'assembly.Specifies the culture string to associate with the assembly. I valori validi per le diverse impostazioni cultura sono definiti nel documento RFC (Internet Requests for Comments) 1766 intitolato "Tags for the Identification of Languages".Valid values for cultures are those defined by the Internet Requests for Comments (RFC) document 1766 titled "Tags for the Identification of Languages."

Se text contiene uno spazio, racchiudere la stringa tra virgolette doppie (" ").Place the string in double quotation marks (" ") if text contains a space. Non è prevista una stringa di impostazioni cultura predefinita.There is no default culture string. La stringa è visualizzabile mediante reflection.This string is available for viewing with reflection.

Per informazioni sulle stringhe text valide, vedere CultureInfo.For information about valid text strings, see the CultureInfo.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyCultureAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyCultureAttribute) in the source code for any MSIL module.
/delay[sign][+|-]/delay[sign][+|-] Specifica se l'assembly avrà firma completa o parziale.Specifies whether the assembly will be fully or partially signed. Usare /delaysign- se si vuole che l'assembly abbia firma completa.Use /delaysign- if you want a fully signed assembly. Usare /delaysign+ se si vuole solo inserire la chiave pubblica nell'assembly.Use /delaysign+ if you only want to include the public key in the assembly.

Quando si richiede un assembly con firma completa, Al.exe genera un hash per il file contenente il manifesto (i metadati dell'assembly) e tale hash viene firmato con la chiave privata.When you request a fully signed assembly, Al.exe hashes the file that contains the manifest (assembly metadata) and signs that hash with the private key. La firma digitale risultante viene archiviata nel file contenente il manifesto.The resulting digital signature is stored in the file that contains the manifest. Quando per un assembly è impostata la firma ritardata,Al.exe non esegue il calcolo e l'archiviazione della firma, ma riserva solo spazio nel file per l'aggiunta della firma in un secondo momento.When an assembly is delay signed, Al.exe does not compute and store the signature, but just reserves space in the file so the signature can be added later.

Il valore predefinito è /delaysign- .The default is /delaysign-.

L'opzione /delaysign ha effetto solo se abbinata all'opzione /keyfile o /keyname.The /delaysign option has no effect unless used with /keyfile or /keyname.

Ad esempio, l'uso di /delaysign+ consente a un tester di inserire l'assembly nella Global Assembly Cache.For example, using /delaysign+ enables a tester to put the assembly in the global cache. Al termine del test, sarà possibile apporre una firma completa nell'assembly inserendovi la chiave privata.After testing, you can fully sign the assembly by including the private key in the assembly.

Prima di usareGacutil.exe (strumento Global Assembly Cache) per inserire un assembly con firma ritardata nella cache globale, usare Sn.exe (strumento Nome sicuro) per registrare l'assembly per l'omissione della verifica.Note: Before using the Gacutil.exe (Global Assembly Cache Tool) to put a delay-signed assembly into the global cache, use the Sn.exe (Strong Name Tool) to register the assembly for verification skipping. Ad esempio Sn.exe –Vr delaySignedAssembly.For example, Sn.exe –Vr delaySignedAssembly. Usare questa procedura solo nelle attività di sviluppo.Use this only for development.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyDelaySignAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyDelaySignAttribute) in the source code for any MSIL module.
/descr[iption]: text/descr[iption]: text Specifica una stringa per il campo Description dell'assembly.Specifies a string for the Description field in the assembly. Se text contiene uno spazio, racchiudere la stringa tra virgolette doppie (" ").Place the string in double quotation marks (" ") if text contains a space. Questa stringa è un attributo personalizzato dell'assembly ed è visualizzabile mediante reflection.This string is a custom attribute on the assembly and is available for viewing with reflection.

Se non si specifica /win32res, l'opzione /description viene visualizzata in Esplora file come risorsa Commenti Win32.If you do not specify /win32res, /description appears in File Explorer as the Win32 Comments resource.

Se text è una stringa vuota, la risorsa Commenti Win32 viene visualizzata come spazio singolo.If text is an empty string, the Win32 Comments resource appears as a single space.

Se si specifica /win32res, /description non influisce sulle informazioni della risorsa Win32.If you specify /win32res, /description will not affect the Win32 resource information.

È possibile specificare questa opzione anche come attributo personalizzato (Description) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (Description) in the source code for any MSIL module.
/e[vidence]: file/e[vidence]: file Incorpora file nell'assembly con il nome di risorsa di Security.Evidence.Embeds file in the assembly with the resource name of Security.Evidence.

Non è possibile usare il nome Security.Evidence per risorse regolari.You cannot use Security.Evidence for regular resources.
/fileversion: version/fileversion: version Specifica una stringa per il campo Versione file dell'assembly.Specifies a string for the File Version field in the assembly. Questa stringa è un attributo personalizzato dell'assembly ed è visualizzabile mediante reflection.This string is a custom attribute on the assembly and is available for viewing with reflection.

Se non si specifica /win32res, l'opzione /fileversion viene usata come risorsa Versione file Win32.If you do not specify /win32res, /fileversion will be used as the Win32 File Version resource. Se non si specifica /fileversion, la risorsa Versione file Win32 viene popolata dalla risorsa Versione assembly Win32.If you do not specify /fileversion, the Win32 File Version resource will be populated by the Win32 Assembly Version resource.

Se si specifica /win32res, /fileversion non influisce sulla risorsa Win32.If /win32res is specified, /fileversion does not affect the Win32 resource.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyFileVersionAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyFileVersionAttribute) in the source code for any MSIL module.
/flags: flags/flags: flags Specifica un valore per il campo Flags dell'assembly.Specifies a value for the Flags field in the assembly. I valori possibili per flags sono i seguenti:Possible values for flags:

0x00000x0000
L'assembly è compatibile in modalità side-by-side.The assembly is side-by-side compatible.

0x00100x0010
L'assembly non può essere eseguito con altre versioni se esse sono in esecuzione nello stesso dominio applicazione.The assembly cannot execute with other versions if they are executing in the same application domain.

0x00200x0020
L'assembly non può essere eseguito con altre versioni se esse sono in esecuzione nello stesso processo.The assembly cannot execute with other versions if they are executing in the same process.

0x00300x0030
L'assembly non può essere eseguito contemporaneamente ad altre versioni se sono in esecuzione sullo stesso computer.The assembly cannot execute with other versions if they are executing on the same computer.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyFlagsAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyFlagsAttribute) in the source code for any MSIL module.
/fullpaths/fullpaths Impone a Al.exe l'uso del percorso assoluto per tutti i file menzionati in un messaggio di errore.Causes Al.exe to use the absolute path for any files that are reported in an error message.
/help/help Visualizza la sintassi e le opzioni di comando dello strumento.Displays command syntax and options for the tool.
/keyf[ile]: filename/keyf[ile]: filename Specifica un file (filename) contenente una coppia di chiavi o solo una chiave pubblica da usare per la firma di un assembly.Specifies a file (filename) that contains a key pair or just a public key to sign an assembly. Durante la compilazione la chiave pubblica verrà inserita nel manifesto dell'assembly, mentre l'assembly finale verrà firmato con la chiave privata.The compiler inserts the public key in the assembly manifest and then signs the final assembly with the private key. Per informazioni sulla generazione di file di chiave e l'installazione di coppie di chiavi in contenitori di chiavi, vedere Strumento nome sicuro (Sn.exe).See the Strong Name Tool (Sn.exe) for information about generating key files and installing key pairs into key containers.

Quando si usa la firma ritardata il file presenta generalmente la chiave pubblica ma non quella privata.If you are using delayed signing, this file will usually have the public key but not the private key.

Le informazioni sulla chiave pubblica, facente parte della coppia di chiavi, vengono visualizzate nel campo .publickey dell'assembly.The public key (of the key pair) information appears in the .publickey field of the assembly.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyKeyFileAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyKeyFileAttribute) in the source code for any MSIL module.

Se nella stessa compilazione sono specificate entrambe le opzioni /keyfile e /keyname (tramite opzione della riga di comando o attributo personalizzato), Al.exe effettua prima un tentativo con il contenitore specificato con /keyname.If both /keyfile and /keyname are specified (either by command-line option or by custom attribute) in the same compilation, Al.exe will first try the container specified with /keyname. Se l'operazione riesce, l'assembly viene firmato con le informazioni incluse nel contenitore di chiavi.If that succeeds, the assembly is signed with the information in the key container. Se invece Al.exe non trova il contenitore di chiavi, effettua un tentativo con il file specificato in /keyfile.If Al.exe does not find the key container, it will try the file specified with /keyfile. Se l'operazione riesce, l'assembly viene firmato con le informazioni contenute nel file di chiave e le informazioni sulla chiave vengono installate nel contenitore di chiave (in modo analogo all'opzione -i in Sn.exe), in modo che nella compilazione successiva l'opzione /keyname sia valida.If that succeeds, the assembly is signed with the information in the key file and the key information will be installed in the key container (similar to the -i option in Sn.exe) so that on the next compilation, the /keyname option will be valid.
/keyn[ame]: text/keyn[ame]: text Specifica un contenitore che include una coppia di chiavi.Specifies a container that holds a key pair. Tale parametro firmerà l'assembly, ossia assegnerà a quest'ultimo un nome sicuro, inserendo una chiave pubblica nel manifesto dell'assembly.This will sign the assembly (give it a strong name) by inserting a public key into the assembly manifest. Al.exe firmerà quindi l'assembly finale con la chiave privata.Al.exe will then sign the final assembly with the private key.

Usare lo strumento Sn.exe per generare una coppia di chiavi.Use Sn.exe to generate a key pair.

Le informazioni relative alla chiave sono visualizzate nel campo .publickey dell'assembly.The key information appears in the .publickey field of the assembly.

Racchiudere text tra virgolette doppie (" ") se include uno spazio.Place text in double quotation marks (" ") if there is an embedded space.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyKeyNameAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyKeyNameAttribute) in the source code for any MSIL module.
/main: method/main: method Specifica il nome completo (class.method) del metodo da usare come punto di ingresso durante la conversione di un modulo in un file eseguibile.Specifies the fully qualified name (class.method) of the method to use as an entry point when converting a module to an executable file.
/nologo/nologo Evita la visualizzazione del banner o del logo nella riga di comando quando viene richiamato lo strumento Al.exe.Suppresses the banner, or logo, displayed at the command line when you invoke Al.exe.
/out: filename/out: filename Specifica il nome e del file prodotto da Al.exe.Specifies the name of the file produced by Al.exe. Si tratta di un'opzione obbligatoria.This is a required option.
/platform: text/platform: text Limita le piattaforme su cui è possibile eseguire il codice: x86, Itanium, x64, anycpu (la piattaforma predefinita) o anycpu32bitpreferred.Limits which platform this code can run on; must be one of x86, Itanium, x64, anycpu (the default), or anycpu32bitpreferred.
/prod[uct]: text/prod[uct]: text Specifica una stringa per il campo Prodotto dell'assembly.Specifies a string for the Product field in the assembly. Se text contiene uno spazio, racchiudere la stringa tra virgolette doppie (" ").Place the string in double quotation marks (" ") if text contains a space. Questa stringa è un attributo personalizzato dell'assembly ed è visualizzabile mediante reflection.This string is a custom attribute on the assembly and is available for viewing with reflection.

Se non si specifica /win32res, l'opzione /product viene visualizzata in Esplora file come risorsa Nome prodotto Win32.If you do not specify /win32res, /product appears in File Explorer as the Win32 Product Name resource.

Se text è una stringa vuota, la risorsa Nome prodotto Win32 viene visualizzata come spazio singolo.If text is an empty string, the Win32 Product Name resource appears as a single space.

Se si specifica /win32res, /product non influisce sulle informazioni della risorsa Win32.If you specify /win32res, /product will not affect the Win32 resource information.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyProductAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyProductAttribute) in the source code for any MSIL module.
/productv[ersion]: text/productv[ersion]: text Specifica una stringa per il campo Versione prodotto dell'assembly.Specifies a string for the Product Version field in the assembly. Se text contiene uno spazio, racchiudere la stringa tra virgolette doppie (" ").Place the string in double quotation marks (" ") if text contains a space. Questa stringa è un attributo personalizzato dell'assembly ed è visualizzabile mediante reflection.This string is a custom attribute on the assembly and is available for viewing with reflection.

Se non si specifica /win32res, l'opzione /productversion viene usata come risorsa Versione prodotto Win32.If you do not specify /win32res, /productversion will be used as the Win32 Product Version resource. Se non si specifica /productversion, la risorsa Versione prodotto Win32 viene popolata dalla risorsa Versione file Win32.If you do not specify /productversion, the Win32 Product Version resource will be populated by the Win32 File Version resource.

Se si specifica /win32res, /productversion non influisce sulle informazioni della risorsa Win32.If you specify /win32res, /productversion will not affect the Win32 resource information.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyInformationalVersionAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyInformationalVersionAttribute) in the source code for any MSIL module.
/t[arget]: lib[rary] | exe | win[exe]/t[arget]: lib[rary] | exe | win[exe] Specifica il formato del file di output. I valori possibili sono: lib[rary] per le librerie di codici, exe per le applicazioni console e win[exe] per le applicazioni basate su Windows.Specifies the file format of the output file: lib[rary] (code library), exe (console application), or win[exe] (Windows-based application). Il valore predefinito è lib[rary].The default is lib[rary].
/template: filename/template: filename Specifica l'assembly, filename, dal quale ereditare tutti i metadati dell'assembly, ad eccezione del campo relativo alle impostazioni cultura.Specifies the assembly, filename, from which to inherit all assembly metadata, except the culture field.

Gli assembly creati con /template sono assembly satellite.An assembly that you create with /template will be a satellite assembly.
/title: text/title: text Specifica una stringa per il campo Titolo dell'assembly.Specifies a string for the Title field in the assembly. Se text contiene uno spazio, racchiudere la stringa tra virgolette doppie (" ").Place the string in double quotation marks (" ") if text contains a space. Questa stringa è un attributo personalizzato dell'assembly ed è visualizzabile mediante reflection.This string is a custom attribute on the assembly and is available for viewing with reflection.

Se non si specifica /win32res, l'opzione /title viene visualizzata in Esplora file come risorsa Descrizione Win32 e usata dalla shell come nome descrittivo di un'applicazione.If you do not specify /win32res, /title appears in File Explorer as the Win32 Description resource, which is used by the shell as the friendly name of an application. Viene visualizzata anche nel sottomenu Apri con del menu di scelta rapida dei tipi di file supportati da più applicazioni.It is also displayed on the Open With submenu of the shortcut menu for a file type for which there are multiple supporting applications.

Se text è una stringa vuota, la risorsa Descrizione Win32 viene visualizzata come spazio singolo.If text is an empty string, the Win32 Description resource appears as a single space.

Se si specifica /win32res, /title non influisce sulle informazioni della risorsa Win32.If you specify /win32res, /title will not affect the Win32 resource information.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyTitleAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyTitleAttribute) in the source code for any MSIL module.
/trade[mark]: text/trade[mark]: text Specifica una stringa per il campo Marchio dell'assembly.Specifies a string for the Trademark field in the assembly. Se text contiene uno spazio, racchiudere la stringa tra virgolette doppie (" ").Place the string in double quotation marks (" ") if text contains a space. Questa stringa è un attributo personalizzato dell'assembly ed è visualizzabile mediante reflection.This string is a custom attribute on the assembly and is available for viewing with reflection.

Se non si specifica /win32res, l'opzione /trademark viene visualizzata in Esplora file come risorsa Marchio Win32.If you do not specify /win32res, /trademark appears in File Explorer as the Win32 Trademark resource.

Se text è una stringa vuota, la risorsa Marchio Win32 viene visualizzata come spazio singolo.If text is an empty string, the Win32 Trademark resource appears as a single space.

Se si specifica /win32res, /trademark non influisce sulle informazioni della risorsa Win32.If you specify /win32res, /trademark will not affect the Win32 resource information.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyTrademarkAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyTrademarkAttribute) in the source code for any MSIL module.
/v[ersion]: version/v[ersion]: version Specifica le informazioni sulla versione dell'assembly.Specifies version information for this assembly. Il formato della stringa di versione è major. minor. build. revision. Il valore predefinito è 0.The format of the version string is major.minor.build.revision. The default value is 0.

Se si specifica /version, è necessario specificare anche major.If you do specify /version, you must specify major. Se si specifica major e minor, è possibile specificare un asterisco (*) per build.If you specify major and minor, you can specify an asterisk (*)for build. In questo caso il valore build coinciderà con il numero dei giorni trascorsi dal 1 gennaio 2000, ora locale, e il valore revision sarà uguale alla metà del numero dei secondi trascorsi dalla mezzanotte del giorno corrente, ora locale.This causes build to be equal to the number of days since January 1, 2000, local time, and revision to be equal to the number of seconds since midnight of the current day, local time, divided by 2.

Se si specifica major, minor e build, è possibile specificare un asterisco per revision.If you specify major, minor, and build, you can specify an asterisk for revision. In questo caso, il valore revision sarà uguale alla metà del numero dei secondi trascorsi dalla mezzanotte del giorno corrente, ora locale.This causes revision to be equal to the number of seconds since midnight of the current day, local time, divided by 2.

Le stringhe di versione valide sono pertanto le seguenti:To summarize, the valid version strings are as follows:

xX

X.XX.X

X.X.*X.X.*

X.X.XX.X.X

X.X.X.*X.X.X.*

X.X.X.XX.X.X.X

dove X è una costante di tipo Unsigned Short diversa da 65535 (0-65534).where X is any unsigned short constant except 65535 (0-65534).

Se non si specifica /win32res, l'opzione /version viene usata come risorsa Versione assembly Win32.If you do not specify /win32res, /version will be used as the Win32 Assembly Version resource.

Se non si specificano /win32res, /productversion e /fileversion, l'opzione /version viene usata per le risorse Versione assembly, Versione file e Versione prodotto Win32.If you do not specify /win32res, /productversion, and /fileversion, /version will be used for the Assembly Version, File Version, and Product Version Win32 resources.

Se si specifica /win32res, /version non influisce sulle informazioni della risorsa Win32.If you specify /win32res, /version will not affect the Win32 resource information.

È possibile specificare questa opzione anche come attributo personalizzato (AssemblyVersionAttribute) nel codice sorgente di qualsiasi modulo MSIL.You can also specify this option as a custom attribute (AssemblyVersionAttribute) in the source code for any MSIL module.
/win32icon: filename/win32icon: filename Inserisce nell'assembly un file icona (.ico).Inserts an .ico file in the assembly. Il file .ico determina l'aspetto desiderato del file di output in Esplora File.The .ico file gives the output file the desired appearance in File Explorer.
/win32res: filename/win32res: filename Inserisce nel file di output una risorsa Win32 (file .res).Inserts a Win32 resource (.res file) in the output file. È possibile creare un file di risorse Win32 usando il Compilatore di risorse.A Win32 resource file can be created by using the Resource Compiler. Il Compilatore di risorse viene richiamato quando si compila un programma Visual C++. Dal file .rc viene creato un file .res.The Resource Compiler is invoked when you compile a Visual C++ program; a .res file is created from the .rc file.
@filename Specifica un file di risposta contenente i comandi di Al.exe.Specifies a response file that contains Al.exe commands.

Nel file di risposta i comandi possono essere disposti uno per riga oppure tutti sulla stessa riga, separati da uno o più spazi.Commands in the response file can appear one per line or on the same line, separated by one or more spaces.
/?/? Visualizza la sintassi e le opzioni di comando dello strumento.Displays command syntax and options for the tool.

NoteRemarks

Tutti i compilatori di Visual Studio producono assembly.All Visual Studio compilers produce assemblies. Tuttavia, se sono presenti uno o più moduli, ovvero metadati senza un manifesto, è possibile usare Al.exe per creare un assembly con il manifesto in un file separato.However, if you have one or more modules (metadata without a manifest), you can use Al.exe to create an assembly with the manifest in a separate file.

Per installare assembly nella cache, rimuovere assembly dalla cache oppure elencare il contenuto della cache, usare lo strumento Global Assembly Cache (Gacutil.exe).To install assemblies in the cache, remove assemblies from the cache, or list the contents of the cache, use the Global Assembly Cache Tool (Gacutil.exe).

Errori e avvisiErrors and Warnings

La tabella seguente contiene l'elenco degli errori generati da Al.exe.The following table lists the errors generated by Al.exe.

ErrorError DescrizioneDescription
al1001al1001 Errore interno del compilatoreInternal compiler error

Provare a determinare se Al.exe ha generato l'errore perché non è in grado di analizzare una sintassi imprevista.Try to determine whether Al.exe is failing because of its inability to parse unexpected syntax. Quindi contattare il Supporto tecnico Microsoft.Then, contact Microsoft Product Support Services.
al1002al1002 Memoria insufficienteOut of memory

Al.exe ha esaurito la memoria ed è stato arrestato.Al.exe ran out of memory and stopped. Aumentare la quantità di memoria disponibile.Increase the amount of available memory.
al1003al1003 L'opzione 'opzione' del compilatore deve essere seguita da un argomentoCompiler option 'option' must be followed by an argument

Al.exe ha previsto il passaggio di un argomento a un'opzione della riga di comando.Al.exe expected an argument to be passed to a command-line option. Se, ad esempio, si specifica /algid: , è necessario passare un identificatore dell'algoritmo.For example, if you specify /algid:, you must pass an algorithm identifier.
al1004al1004 Errore imprevisto di inizializzazione di Common Language Runtime: 'motivo'Unexpected common language runtime initialization error — 'reason'

Al.exe ha segnalato un errore relativo all'installazione di Visual Studio o di Common Language Runtime per il motivo specificato.Al.exe reported an error with the installation of Visual Studio or the common language runtime for the specified reason.
al1005al1005 Impossibile aprire il file 'file'. File troppo grandeFile 'file' too big to open

Tutti i file aperti da Al.exe devono avere dimensioni minori di 4 gigabyte (GB).All files opened by Al.exe must be smaller than 4 gigabytes (GB).
al1006al1006 Il file di risposta 'file' è già inclusoResponse file 'file' was already included

Nella riga di comando è stato specificato lo stesso file di risposta (@file) più di una volta.The same response file was specified (@file) more than once on the command line. Il file di risposta può essere incluso solo una volta.The response file can only be included once.
al1007al1007 Si è verificato un errore durante l'apertura del file di risposta 'file': 'motivo'Error opening response file 'file' — 'reason'

Al.exe non può aprire il file di risposta specificato per il motivo indicato.Al.exe cannot open the specified response file for the specified reason.
al1008al1008 Specifica del file mancante per l'opzione 'opzione' della riga di comandoMissing file specification for 'option' command-line option

Al.exe ha previsto il passaggio di un file a un'opzione della riga di comando.Al.exe expected a file to be passed to a command-line option. Se, ad esempio, si specifica l'opzione /out, è necessario specificare un file.For example, if you specify the /out option, you must specify a file.
al1009al1009 Impossibile aprire 'file' per la scritturaCan't open 'file' for writing

Al.exe non è stato in grado di scrivere in un file, ad esempio il file di assembly di output.Al.exe was unable to write to a file, such as the output assembly file. Il disco potrebbe essere pieno, il file potrebbe essere di sola lettura o si potrebbe non disporre delle autorizzazioni per il file.The disk might be full, the file might be read-only, or you might not have permissions to the file.
al1010al1010 Errore nella sintassi della riga di comando: manca ':testo' per l'opzione 'opzione'Command-line syntax error: Missing ':text' for 'option' option

Al.exe ha previsto il passaggio di un argomento a un'opzione della riga di comando.Al.exe expected an argument to be passed to a command-line option. Se, ad esempio, si specifica l'opzione /title, è necessario passare una stringa.For example, if you specify the /title option, you must pass a string.
al1011al1011 'file' è un file eseguibile e non può essere aperto come file di testo.File 'file' is an executable file and cannot be opened as a text file

È stato specificato un file binario dove era previsto un file di testo.A binary file was specified where a text file was expected. Questo errore si verifica, ad esempio, se nella riga di comando viene passato un file binario come file di risposta.For example, this error occurs if a binary file is passed on the command line as a response file.
al1012al1012 'valore' non è un'impostazione valida per l'opzione 'opzione''value' is not a valid setting for option 'option'

Un valore imprevisto è stato passato a un'opzione della riga di comando.An unexpected value was passed to a command-line option. Questo errore si verifica, ad esempio, se si specifica un valore non valido nell'opzione /target.For example, this error occurs if you specify an invalid value to the /target option.
al1013al1013 Opzione non riconosciuta della riga di comando: 'opzione'Unrecognized command-line option: 'option'

È stata specificata un'opzione della riga di comando non valida.An invalid command-line option was specified.
al1014al1014 Errore di inizializzazione imprevisto: 'motivo'Unexpected initialization error — 'reason'

Al.exe ha rilevato un errore di inizializzazione COM.Al.exe detected a COM initialization failure. L'errore potrebbe essere provocato da mancanza di memoria, ma una causa più probabile sono i file DLL del sistema.This might be caused by a lack of memory, but a more likely cause is the system DLL files. In genere viene visualizzato un errore simile se si esegue un programma basato sull'automazione o su COM come Microsoft Visual Studio.You should see a similar error if you run any Automation-aware or COM-aware program, such as Microsoft Visual Studio.

Reinstallare il sistema operativo.Reinstall the operating system.
al1015al1015 Impossibile trovare il file di messaggi 'alinkui.dll'Unable to find messages file 'alinkui.dll'

Al.exe richiede il file Alinkui.dll.Al.exe requires Alinkui.dll. Assicurarsi che questo file sia presente nel percorso.Make sure that this file is on your path. Se necessario, copiarlo dal CD del prodotto.If necessary, copy it from the product CD.
al1016al1016 Nessun file di input specificatoNo valid input files were specified

Al.exe richiede uno o più file di input che non includano informazioni sull'assembly.Al.exe requires one or more input files that do not have assembly information.
al1017al1017 Nessun nome file di destinazione specificatoNo target file name was specified

L'opzione /out obbligatoria che specifica il nome file di destinazione non è presente.The required /out option specifying the target file name was missing.
al1018al1018 Impossibile caricare il file richiesto 'file'Required file 'file' could not be loaded

Alcuni file DLL non possono essere caricati.Certain DLL files cannot be loaded. Reinstallare Visual Studio o Windows SDK.Reinstall Visual Studio or the Windows SDK.
al1019al1019 Errore nei metadati durante la creazione dell'assembly: motivoMetadata failure while creating assembly — reason

La generazione dell'assembly è stata interrotta per il motivo specificato.Generation of the assembly was interrupted for the specified reason. Questo errore si verifica, ad esempio, se non è possibile trovare un file specificato con l'opzione /win32res.For example, this error occurs if a file that you specify with the /win32res option is not found.
al1020al1020 L'assembly incluso 'file' verrà ignoratoIgnoring included assembly 'file'

È stato specificato un file di input che contiene un assembly.An input file that contained an assembly was specified. I file di input di Al.exe non possono contenere assembly.Al.exe input files cannot contain assemblies.
al1021al1021 'impostazione': l'impostazione precedente verrà ignorata'setting' : overriding previous setting

In un modulo il valore di una determinata impostazione, possibilmente assegnato attraverso attributi personalizzati, è stato sostituito con un valore passato usando un'opzione della riga di comando di Al.exe.A module had a value for a particular setting, possibly assigned through custom attributes, which was overridden with a value passed using an Al.exe command-line option.
al1022al1022 Errore durante la lettura della risorsa incorporata 'file': motivoError reading embedded resource 'file' — reason

Al.exe non è in grado di leggere il file passato all'opzione /embedresource per il motivo specificato.Al.exe cannot read the file passed to the /embedresource option for the specified reason.
al1023al1023 Errore durante l'incorporamento della risorsa 'file': motivoError embedding resource 'file' — reason

Il sistema operativo non è in grado di incorporare il file di risorse nell'assembly per il motivo specificato.The operating system cannot embed the resource file in the assembly for the specified reason.
al1025al1025 Il record ComType 'record' fa riferimento al record 'record' di un file non validoComType record 'record' points to an invalid file record 'record'

I metadati nel modulo di input non sono validi.Metadata in the input module is invalid. Lo strumento che ha prodotto il modulo deve essere corretto.The tool that produced the module must be fixed.
al1026al1026 La versione specificata 'versione' non è validaThe version specified 'version' is invalid

Per indicazioni sui formati validi, vedere le informazioni sull'opzione /version.See information about the /version option for valid formats.
al1028al1028 Nel file di chiave 'file' manca la chiave privata necessaria per la firmaKey file 'file' is missing the private key needed for signing

Un file di chiave che contiene solo la chiave pubblica è stato passato all'opzione /keyfile.A key file that contains only the public key was passed to the /keyfile option. Usare lo strumento Nome sicuro (Sn.exe) per generare un file che contenga una chiave pubblica e una privata, come mostrato nel comando seguente.Use the Strong Name Tool (Sn.exe) to generate a file that has both a public and private key, as shown in the following command.

sn -k keypair.snk.
al1029al1029 Il nome del contenitore di chiavi 'contenitore' non esisteThe key container name 'container' does not exist

Il valore passato all'opzione /keyname non corrisponde a un contenitore valido.The value passed to the /keyname option is not a valid container. Usare lo strumento Nome sicuro (Sn.exe) per creare un contenitore.Use the Strong Name Tool (Sn.exe) to create a container.
al1030al1030 Il servizio di crittografia non è installato correttamente o non dispone di un provider di chiavi adattoThe cryptographic service is not installed properly or does not have a suitable key provider

Potrebbe essere necessario reinstallare il sistema operativo o installare l'utilità di crittografia usata per creare la chiave.You might have to either reinstall the operating system or install some cryptographic utility that was that is used to create the key.
al1031al1031 Errore durante la lettura dell'icona 'file': motivoError reading icon 'file' — reason

Al.exe non è in grado di leggere il file passato all'opzione /win32icon per il motivo specificato.Al.exe cannot read the file that was passed to the /win32icon option for the specified reason
al1032al1032 Errore durante la generazione delle risorse per 'file': motivoError generating resources for 'file' — reason

Al.exe non è in grado di creare un file a causa di spazio su disco insufficiente o di un altro errore.Al.exe cannot create a file because of insufficient disk space or some other error. Questo errore si verifica quando si specifica l'opzione /win32icon (che genera un file con estensione ico) o non si specifica l'opzione /win32res (che genera un file contenente informazioni sulla risorsa).This error occurs when you specify the /win32icon option (which generates an .ico file) or do not specify the /win32res option (which generates a file that has resource information).

Se non è possibile risolvere il problema di generazione del file, usare /win32res, che specifica un file che può contenere informazioni sulla versione o sull'immagine bitmap (icona).If you cannot resolve the file generation problem, use /win32res, which specifies a file that can contain version or bitmap (icon) information.
al1033al1033 L'attributo personalizzato 'attributo' dell'assembly è stato specificato più volte con valori diversiAssembly custom attribute 'attribute' was specified multiple times with different values

Sono stati passati valori diversi a due occorrenze dello stesso attributo personalizzato nei moduli di origine specificati come input per Al.exe.Different values were passed to two occurrences of the same custom attribute in source modules that are specified as input to Al.exe.
al1034al1034 Impossibile copiare o rinominare l'assembly 'file'Assembly 'file' cannot be copied or renamed

Durante l'uso della sintassi di Al.exe che permette di specificare un file di input e di copiarlo, si è verificato un conflitto di nomi che ha arrestato il compilatore.While using the Al.exe syntax that enables you to both specify an input file and copy it, a name conflict arose that stopped the compiler. Questo errore si verifica, ad esempio, se si specifica input.dll,somename.dll /out:somename.dll.For example, this error occurs if you specify input.dll,somename.dll /out:somename.dll.
al1035al1035 Impossibile specificare un punto di ingresso per le librerieLibraries cannot have an entry point

Non è possibile specificare l'opzione /target:lib (opzione predefinita) insieme all'opzione /main.You cannot specify both the /target:lib option (the default) and the /main option.
al1036al1036 Punto di ingresso necessario per applicazioni eseguibiliEntry point required for executable applications

Quando si usa l'opzione /target:exe o /target:win, è necessario specificare anche l'opzione /main.When using the /target:exe or /target:win option, you must also specify the /main option.
al1037al1037 Impossibile trovare il metodo 'main' nel punto di ingresso specificatoUnable to find the entry point method 'main'

Al.exe non è in grado di trovare il metodo Main nella posizione specificata dall'opzione /main.Al.exe cannot find a Main method at the location specified by the /main option.
al1039al1039 Impossibile inizializzare il gestore della Global Assembly Cache: motivoInitialization of global assembly cache manager failed — reason

Reinstallare Visual Studio o Windows SDK.Reinstall Visual Studio or the Windows SDK.
al1040al1040 Impossibile installare l'assembly nella cache: motivoFailed to install assembly into cache — reason

Nella cache è possibile installare solo assembly firmati.Only signed assemblies can be installed into the cache. Per altre informazioni, vedere Global Assembly Cache.See Global Assembly Cache for more information.
al1041al1041 Impossibile impostare 'metodo' come punto di ingresso. Firma o visibilità non corretta oppure l'elemento è generico'method': cannot be the entry point because the signature or visibility is incorrect, or it is generic

È stato specificato un metodo con l'opzione /main, ma il metodo non è statico, non restituisce int o void, è generico o include argomenti non validi.A method was specified with the /main option, but that method is not static, does not return int or void, was generic, or has invalid arguments.
al1042al1042 'EXE': impossibile aggiungere file EXE come moduli'exe': EXEs cannot be added modules

È stato specificato come file di input per Al.exe un file .exe che non include un assembly.An .exe file that does not have an assembly was specified as an input file to Al.exe. Al.exe accetta solo file dll senza assembly come file di input.Al.exe can only take dll files without assemblies as input files.
al1043al1043 Il nome di file del manifesto 'nome' non può essere uguale a quello di un qualsiasi moduloManifest file name 'name' cannot be the same as any modules

Il nome specificato con l'opzione /out non può essere uguale a uno dei nomi file specificati come input per Al.exe.The name specified with the /out option cannot be the same as any one of the file names that are specified as input to Al.exe.
al1044al1044 Errore durante la lettura del file di chiave 'file': motivoError reading key file 'file' — reason

Si è verificato un errore durante l'apertura o la lettura di un file specificato con /keyfile o AssemblyKeyFileAttribute.An error occurred while opening or reading from a file specified with /keyfile or the AssemblyKeyFileAttribute.
al1045al1045 Il nome di file 'file' è troppo lungo o non validoFilename 'file' is too long or invalid

Un nome file più lungo di 260 caratteri è stato passato ad Al.exe.A file name longer than 260 characters was passed to Al.exe. Scegliere un nome file con un numero minore di caratteri o un percorso più breve oppure rinominare il file.Choose a file name with fewer characters or a shorter path, or rename the file.
al1046al1046 L'identificatore di risorsa 'ID' è già stato usato in questo assemblyResource identifier 'ID' has already been used in this assembly

Due risorse, incorporate o collegate, hanno lo stesso identificatore o nome (secondo argomento).Two resources, embedded or linked, have the same identifier or name (the second argument). Rimuovere o rinominare una delle risorse in conflitto.Remove or rename one of the conflicting resources.
al1047al1047 Errore durante l'importazione del file 'file': motivoError importing file 'file' — reason

Non è possibile aprire un file di modulo per il motivo specificato.A module file cannot be opened for the specified reason.
al1048al1048 Errore durante l'importazione del modulo 'modulo' dell'assembly 'assembly': motivoError importing module 'module' of assembly 'assembly' — reason

Si è verificato un errore durante l'apertura di un file non manifesto di un assembly su più file.An error occurred when opening a nonmanifest file of a multifile assembly. Questo errore non viene generato direttamente da Al.exe, ma può essere passato a livello di codice a un processo che usa Al.exe.This error is not emitted directly by Al.exe, but can be passed programmatically to a process that uses Al.exe.
al1049al1049 Impossibile generare automaticamente i numeri di build e di revisione per le date antecedenti il 1 gennaio 2000Cannot auto-generate build and revision version numbers for dates before January 1, 2000

L'orologio di sistema nel computer è impostato su una data precedente all'1 gennaio 2000.The system clock on your computer is set to a date earlier than January 1, 2000.
al1050al1050 La funzionalità usata 'vecchia funzionalità' non è più supportata. Usare invece 'nuova funzionalità'The feature you are using 'old feature' is no longer supported; please use 'new feature' instead

Una funzionalità precedentemente supportata da Al.exe è ora obsoleta.A feature previously supported by Al.exe is now obsolete. Usare al suo posto la funzionalità consigliata.Use the recommended feature instead.
al1051al1051 Errore nella creazione dell'attributo 'attributo': 'motivo'Error emitting 'attribute' attribute —'reason'

Un attributo personalizzato dell'assembly non è stato elaborato da Al.exe per il motivo specificato.An assembly custom attribute was not processed by Al.exe for the specified reason.
al1052al1052 Il file 'nome file' non è un assemblyFile 'filename' is not an assembly

Il file specificato con /template deve contenere i metadati dell'assembly.The file specified with /template must contain assembly metadata. Questo errore indica che il file specificato da /template non contiene un assembly.This error indicates that the file specified by /template did not contain an assembly.
al1053al1053 La versione 'versione' specificata per 'opzione' non è nel formato normale 'principale.secondaria.build.revisione'The version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

Al.exe ha rilevato che sono state specificate informazioni sulla versione con un formato non valido per l'opzione /fileversion o /productversion.Al.exe detected ill-formed version information specified with the /fileversion or /productversion options.
al1054al1054 La versione 'versione' specificata per 'opzione' non è nel formato normale 'principale.secondaria.build.revisione'The version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

Al.exe ha rilevato informazioni sulla versione con un formato non valido specificate con SatelliteContractVersionAttribute.Al.exe detected ill-formed version information specified with the SatelliteContractVersionAttribute.
al1055al1055 L'assembly 'nome file' al quale si fa riferimento non ha un nome sicuroReferenced assembly 'filename' does not have a strong name

Questo errore viene generato quando si compila un assembly con un nome sicuro e si fa riferimento a un assembly che non ha un nome sicuro.This error is issued when you are building an assembly with a strong name and reference an assembly that does not have a strong name. Per correggere questo errore, è necessario rigenerare l'assembly con un nome sicuro o collegare un nome sicuro all'assembly usando Sn.exe (vedere la documentazione per Sn.exe).To fix this, you must either regenerate your assembly with a strong name, or attach a strong name to the assembly by using Sn.exe (see the documentation for Sn.exe).

Un caso comune in cui avviene questo errore è quando si usano oggetti COM mediante assembly wrapper, ad esempio quando si aggiunge a un progetto C# un riferimento a un modulo COM tramite IDE di Visual Studio.A common occurrence of this error is when you are using COM objects by way of wrapper assemblies, such as when you add a reference to a COM module to a C# project by way of the Visual Studio IDE. Per evitare questo errore, è possibile specificare il file di chiave con nome sicuro per gli assembly wrapper COM nella proprietà del progetto "File di chiave assembly wrapper/Nome".To avoid the error, you can specify the strong name key file for COM wrapper assemblies in the Project Property "Wrapper Assembly Key File/Name"

Se l'assembly wrapper viene creato tramite tlbimp, vedere la documentazione di tlbimp per informazioni su come assegnare un nome sicuro all'assembly wrapper.If you are creating the wrapper assembly through tlbimp, see the tlbimp documentation for information about how to assign a strong name to the wrapper assembly.

Se un assembly ha un nome sicuro, può essere installato in Global Assembly Cache.If an assembly has a strong name, it can be installed in the global assembly cache. Di conseguenza, anche gli assembly di riferimento vengono inseriti in Global Assembly Cache.Consequently, referenced assemblies would also go into the global assembly cache. Solo gli assembly con nomi sicuri possono essere inseriti in Global Assembly Cache.Only assemblies with strong names can go into the global assembly cache.
al1056al1056 L'assembly 'nome file' a cui si fa riferimento è un assembly satellite localizzatoReferenced assembly 'filename' is a localized satellite assembly

È stato fatto riferimento a un assembly creato mediante l'attributo AssemblyCultureAttribute per la creazione dell'assembly corrente.An assembly created by using the AssemblyCultureAttribute attribute was referenced in creating the current assembly. L'attributo AssemblyCultureAttribute indica che il file è un assembly satellite localizzato e non è opportuno fare riferimento a un assembly satellite.The AssemblyCultureAttribute attribute indicates the file is a localized satellite assembly and it is not appropriate to reference a satellite assembly. Probabilmente è invece necessario fare riferimento all'assembly padre principale.You should probably reference the main parent assembly instead.
al1057al1057 I file eseguibili non possono essere localizzati. Il campo Impostazioni cultura deve essere sempre vuotoExecutables cannot be localized, Culture should always be empty

Si sta creando un assembly tramite /target:exe, ma è stata specificata l'opzione /culture.An assembly is being created by using /target:exe but /culture was specified. Gli assembly nell' .exe non possono includere informazioni del campo Impostazioni cultura.Assemblies in the .exe cannot have information in the Culture field.
al1058al1058 'file' è un assembly e non può essere aggiunto come modulo'file' is an assembly and cannot be added as a module

In una compilazione C++, ad /assemblymodule (opzione del linker) è stato passato un file contenente un assembly.In a C++ compilation, /assemblymodule (linker option) was passed a file that contained an assembly.
al1059al1059 Errore sconosciuto (codice)Unknown error (code)

Al.exe ha ricevuto un codice di errore sconosciuto (code).Al.exe received an unknown error code (code).

Ecco alcune possibili soluzioni:Possible solutions include the following:

Reinstallare Visual Studio.Reinstall Visual Studio.

Reinstallare Windows SDK.Reinstall the Windows SDK.

Controllare se vi sono file mancanti.Check for missing files.

Verificare che sia disponibile spazio su disco adeguato.Check for adequate disk space.

Verificare che sia disponibile memoria adeguata.Check for adequate memory.

Arrestare altri processi che potrebbero accedere ai file.Stop other processes that might be accessing the files.

Riavviare il computer.Reboot your computer.
al1060al1060 Errore crittografico durante la creazione di hash: motivoCryptographic failure while creating hashes — reason

Si è verificato un errore durante la creazione di hash dei file per un assembly su più file.An error occurred while creating the file hashes for a multifile assembly.
al1061al1061 Impossibile impostare l'opzione 'opzione' a causa di 'opzione'Cannot set option 'option' because 'reason'

Il valore specificato per questa opzione non è valido per il motivo indicato.The value specified for this option is invalid for the specified reason.
al1062al1062 Il modulo 'modulo' è stato specificato più volte. Verrà incluso una sola voltaModule 'module' was specified multiple times; it will only be included once

Questo avviso viene generato quando nella riga di comando si specifica più volte la stessa origine, lo stesso input o lo stesso file di modulo.This warning is generated when the same source, input, or module file is specified multiple times on the command line. Assicurarsi di specificare il nome file solo una volta.Make sure that you specify the file name only once.
al1063al1063 Il tipo pubblico 'tipo' è definito in più punti in questo assembly: 'file1' e 'file2'Public type 'type' is defined in multiple locations in this assembly: 'file1' and 'file2'

È stato rilevato lo stesso tipo in più di un modulo nell'assembly.The same type was found in more than one module in the assembly. In un assembly può essere presente solo una versione di ogni tipo.Only one version of each type may be present in an assembly.
al1064al1064 Impossibile specificare più opzioni /bugreportCannot specify multiple /bugreport options.

È consentita una sola opzione /bugreport.Only one /bugreport option is allowed.
al1065al1065 Il nome di file 'nome file' è troppo lungo o non validoFile name 'File Name' is too long or invalid

Il nome file specificato supera la lunghezza massima consentita.The specified file name is longer than the maximum allowed.
al1066al1066 Il carattere 'carattere' non è consentito nella riga di comando o in file di rispostaCharacter 'character' is not allowed on the command-line or in response files

È stato trovato un carattere non valido nella riga di comando o in un file.An invalid character was found, either on the command line or in a file.
al1067al1067 'nome file' è un file binario e non un file di testo'filename' is a binary file instead of a text file

Il file è in formato binario anziché di testo.The file is in binary format instead of text.
al1068al1068 Il modulo 'nome modulo' è già definito in questo assembly.Module 'ModuleName' is already defined in this assembly. Ogni risorsa collegata e ogni modulo devono avere un nome di file univoco.Each linked resource and module must have a unique file name.

Il modulo è presente più volte in questo assembly.The module occurs more than once in this assembly.
al1069al1069 Non è possibile creare il nome di file breve 'nome file' se esiste già un nome di file lungo con lo stesso nome di file breveCannot create short file name 'filename' when a long file name with the same short file name already exists

Il file corrente ha un nome che corrisponde alla versione breve di un nome file già esistente.The current file has a name that is the short version of a file name that already exists. Ad esempio, la compilazione di LongFileName.cs e quindi la ricompilazione con il nome LongFi~1.cs provocheranno un errore del compilatore simile a questo.For example, compiling LongFileName.cs and then recompiling with the name LongFi~1.cs will cause a compiler error similar to this. Questo errore può verificarsi se i file di output del compilatore con nomi lunghi sono stati eliminati, ma i file analoghi del linker sono rimasti.If the compiler output files that have long names were deleted, but the analogous linker files remained, this error might occur.
al1070al1070 Un assembly agnostico non può avere un modulo 'nome modulo' specifico del processoreAgnostic assembly cannot have a processor specific module 'Module Name'

Se la compilazione viene eseguita usando /platform:agnostic o non si specifica /platform e si prova ad aggiungere un modulo non agnostico tramite /addmodule, viene generato un errore.If you are building using /platform:agnostic (or you don’t specify /platform), an error will be generated if you try to add a module (using /addmodule) that is not agnostic. È come provare a collegare un file i386 obj a un file ia64 obj.This is like trying to link an i386 obj file to an ia64 obj.

L'origine principale dei moduli non agnostici è C++.The main source of non-agnostic modules is C++. Se si usa /addmodule con un modulo C++, può essere necessario modificare gli script di compilazione per specificare l'impostazione /platform appropriata.If you are using /addmodule with a C++ module, you may have to modify your build scripts to specify the appropriate /platform setting.
al1072al1072 L'assembly e il modulo 'nome modulo' non possono essere destinati a processori diversiAssembly and module 'Module Name' cannot target different processors

Non è possibile collegare un assembly e un modulo destinati a processori diversi, perché il risultato deve essere eseguito su un singolo processore.You cannot link an assembly and a module that are targeted for different processors, because the result has to run on a single processor.
al1073al1073 L'assembly 'assembly' a cui si fa riferimento ha come destinazione un processore diversoReferenced assembly 'assembly' targets a different processor

Non è possibile collegare assembly destinati a processori diversi, perché il risultato deve essere eseguito su un singolo processore.You cannot link assemblies that are targeted for different processors, because the result has to run on a single processor.
al1074al1074 Il nome modulo 'nome modulo' memorizzato in 'nome file' deve corrispondere al relativo nome di fileModule name 'Module Name' stored in 'File Name' must match its file name

Questa condizione è obbligatoria per il linker.This is required of the linker. Per risolvere questo problema, fare in modo che i due nomi corrispondano.To resolve this problem, make the two names match.
al1075al1075 Richiesta firma ritardata ma non è stata fornita alcuna chiaveDelay signing was requested, but no key was given

Quando per un assembly è impostata la firma ritardata, il compilatore non calcola e archivia la firma, ma riserva spazio nel file in modo che la firma possa essere aggiunta successivamente.When an assembly is delay signed, the compiler does not compute and store the signature, but reserves space in the file so the signature can be added later.

Ad esempio, l'uso di /delaysign+ consente a un tester di inserire l'assembly nella Global Assembly Cache.For example, using /delaysign+ enables a tester to put the assembly in the global cache. Al termine del test, è possibile firmare completamente l'assembly aggiungendo la chiave privata all'assembly mediante l'utilità Assembly Linker.After testing, you can fully sign the assembly by adding the private key to the assembly by using the Assembly Linker utility.
al1076al1076 Il tipo 'tipo' viene inoltrato a più assembly: 'assembly' e 'assembly'Type 'type' is forwarded to multiple assemblies: 'assembly' and 'assembly'.

Un tipo può essere inoltrato a un solo assembly.A type can only be forwarded to one assembly.
al1077al1077 Il tipo pubblico 'tipo' è definito in 'assembly' e inoltrato a 'assembly'Public type 'type' is defined in 'assembly' and forwarded to 'assembly'.

Nell'assembly generato è presente un tipo pubblico duplicato.There is a duplicate public type in the assembly being generated. Uno è una definizione di tipo valido e l'altro è un server d'inoltro del tipo.One is a valid type definition and the other is a type forwarder.

EsempioExample

Il comando seguente crea un file eseguibile t2a.exe con un assembly a partire dal modulo t2.netmodule.The following command creates an executable file t2a.exe with an assembly from the t2.netmodule module. Il punto di ingresso è il metodo Main in MyClass.The entry point is the Main method in MyClass.

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

Vedere ancheSee also