Compartilhar via


AL.exe (do Assembly Linker)

O vinculador do Assembly gera um arquivo de um assembly manifesto de um ou mais arquivos que são módulos tanto ou arquivos de recurso. Um módulo é um arquivo Microsoft Intermediate Language (MSIL) que não tenha um manifesto de conjunto de módulos (assembly).

Observação

Para evitar ficar sujeito a virtualização em um computador Windows Vista, o seu conjunto deve incluir um manifesto win32 que especifica o nível de execução solicitado.Ao usar al.exe diretamente a partir da linha de comando, você pode tanto incorporar o manifesto em um arquivo de recurso win32 senão usar mt.exe para acrescentar o manifesto em um estágio posterior no processo de compilação.No Visual Studio 2008 de C# e Visual Basic compiladores automaticamente incorporam um manifesto win32 em assembly.Para obter mais informações, consulte /win32manifest (TRANSLATION FROM VPE FOR CSHARP compilador Opções).

al sources options

Parâmetros

Você pode especificar um ou mais dos seguintes sources.

Origem

Descrição

file[,target]

Copia o conteúdo de file (um módulo) para o nome de arquivo especificado por target. Depois de copiar, compila o Al.exe target em um assembly.

/embed[resource]:file[,name[,private]]

Incorpora o recurso especificado por file na imagem que contém o manifesto do assembly AL.exe copia o conteúdo de file na portátil executável (PE) imagem.

O name parâmetro é um identificador interno para o recurso. Por padrão, os recursos são pública na montagem (visível aos outros conjuntos). Especificando private faz com que o recurso não é visível para outros assemblies.

Se file é um.Arquivo de recurso do NET Framework criado, por exemplo, pela Resource File Generator (Resgen. exe) ou no ambiente de desenvolvimento, ele pode ser acessado com membros da System.Resources. Para obter mais informações, consulte ResourceManager. Para todos os outros recursos, use o GetManifestResource* métodos de Assembly para acessar o recurso em tempo de execução.

Se apenas arquivos de recurso são passados para AL.exe, o arquivo de saída é um conjunto de recursos satélite.

/link[resource]:file[,name[,target[,private]]]

Um recurso Links arquivo a uma montagem. O recurso especificado por file se torna parte do assembly. o arquivo não é copiado. O file parâmetro pode ser em qualquer formato de arquivo. Por exemplo, você pode especificar uma DLL nativa como o file parâmetro. Isso fará com que a parte DLL nativa do assembly para que possa ser instalado no cache global de assemblies e acessado a partir do código gerenciado no assembly. Você também pode fazer isso usando o /linkresource opção de compilador. Para obter mais informações, consulte /linkresource ( Opçõesdo compilador TRANSLATION FROM VPE FOR CSHARP).

Oname parâmetro é um identificador interno para o recurso. O targetparâmetro especifica um caminho e nome de arquivo no quais cópias de Al.exe a file. Depois de copiar, compila o Al.exe target em um assembly. Por padrão, os recursos são pública na montagem (visível aos outros conjuntos). Especificando private faz com que o recurso não é visível para outros assemblies.

Se file é um.Arquivo de recurso do NET Framework criado, por exemplo, pelo Resource File Generator (Resgen. exe) ou no ambiente de desenvolvimento, ele pode ser acessado com membros da System.Resources namespace. Para obter mais informações, consulte ResourceManager. Para todos os outros recursos, use o GetManifestResource * métodos de Assembly classe para acessar o recurso em tempo de execução.

Se apenas arquivos de recurso são passados para AL.exe, o arquivo de saída é um conjunto de recursos satélite.

Você pode especificar o seguinte options; Você deve especificar /out.

Opção

Descrição

/algid:id

Especifica um algoritmo para hash todos os arquivos em um conjunto de vários arquivos, exceto o arquivo que contém o manifesto conjunto. O algoritmo padrão é CALG_SHA1. Consulte ALG_ID na documentação para outros algoritmos Platform SDK. Para a primeira versão do .NET Framework, somente CALG_SHA1 e CALG_MD5 são válidos.

Os valores de hash são armazenados na tabela de arquivos do manifesto conjunto. Em tempo de instalação e carga arquivos na montagem são comparados com seus hashes.

Você também pode especificar essa opção como um atributo personalizado (AssemblyAlgorithmIdAttribute) no código fonte para qualquer módulo.

/base[address]:addr

Especifica o endereço em que uma DLL serão carregados no computador do usuário em tempo de execução. Aplicativos carregam mais rapidamente se você especificar o endereço base das DLLs, em vez de deixar o sistema operacional para realocar as DLLs no espaço de processo.

/bugreport:filename

Cria um arquivo (filename) que contém informações para relatórios de bugs.

/comp[any]:text

Especifica uma sequência para o campo Empresa no conjunto. Coloque a seqüência de caracteres entre aspas duplas (" ") se text contém um espaço. Essa sequência é um atributo personalizado no conjunto de módulos (assembly) e está disponível para exibição com reflexo.

Se você não especificar /win32res, text aparece no Microsoft Windows Explorer como o Company a propriedade para o arquivo. Se você especificar /win32res, as informações da empresa no arquivo de recurso especificado é exibido como o Company a propriedade no Windows Explorer.

Se o texto é uma seqüência vazia (""), o Win32 Company recurso aparece como um único espaço.

Se você especificar /win32res, /company não afetará as informações de recurso do Win32.

Você também pode especificar essa opção como um atributo personalizado (AssemblyCompanyAttribute) no código fonte para qualquer módulo MSIL.

/config[uration]:text

Especifica uma sequência para o campo configuração na montagem. Coloque a seqüência de caracteres entre aspas duplas (" ") se text contém um espaço. Essa sequência é um atributo personalizado no conjunto de módulos (assembly) e está disponível para exibição com reflexo.

Se o texto é uma sequência vazia, o recurso Configuração Win32 aparecerá como um único espaço.

Você também pode especificar essa opção como um atributo personalizado (AssemblyConfigurationAttribute) no código fonte para qualquer módulo MSIL.

/copy[right]:text

Especifica uma sequência para o campo Copyright na montagem. Coloque a seqüência de caracteres entre aspas duplas (" ") se text contém um espaço. Essa sequência é um atributo personalizado no conjunto de módulos (assembly) e está disponível para exibição com reflexo.

Se você não especificar /win32res, /copyright aparece no Windows Explorer como o recurso de Copyright do Win32.

Se o texto é uma sequência vazia, o recurso Copyright Win32 aparecerá como um único espaço.

Se você especificar /win32res, /copyright não afetará as informações de recurso do Win32.

Você também pode especificar essa opção como um atributo personalizado (AssemblyCopyrightAttribute) no código fonte para qualquer módulo MSIL.

/c[ulture]:text

Especifica a sequência cultura para associar ao conjunto. Os valores válidos para cultures são aquelas definidas pelo solicitações da Internet para documento comentários (RFC) titled 1766 " marcas para a identificação de idiomas.

Coloque a seqüência de caracteres entre aspas duplas (" ") se text contém um espaço. Não há nenhuma sequência cultura padrão. Essa sequência está disponível para exibição com reflexo.

Para obter informações sobre válido text seqüências de caracteres, consulte o CultureInfo.

Você também pode especificar essa opção como um atributo personalizado (AssemblyCultureAttribute) no código fonte para qualquer módulo MSIL.

/delay[sign][+|-]

Especifica se conjunto será totalmente ou parcialmente entrar. Use /delaysign- se você quiser um assembly totalmente assinado. Use /delaysign+ se você apenas deseja incluir a chave pública do assembly.

Quando você solicita um conjunto totalmente assinado, AL.exe hashes o arquivo que contém o manifesto (metadados conjunto) e assina que hash com a chave particular. A assinatura digital resultante é armazenada no arquivo que contém o manifesto. Quando um conjunto é atraso assinado, AL.exe não calcular e armazenar a assinatura, mas apenas espaço reserves no arquivo para a assinatura podem ser adicionados posteriormente.

O padrão é /delaysign-.

O /delaysign opção não terá efeito se usada com /keyfile ou /keyname.

Por exemplo, usando /delaysign+ permite que um testador colocar o assembly no cache global. Após o teste, você pode assinar totalmente o assembly, incluindo a chave particular no assembly.

Observação

Antes de usar o Gacutil. exe (ferramenta de Cache de Assembly Global) para colocar um assembly assinado por atraso no cache global, use o Sn. exe (ferramenta de nome forte) para registrar o assembly para verificação ignorando.Por exemplo, Sn.exe –Vr delaySignedAssembly.Use esta somente para desenvolvimento.

Você também pode especificar essa opção como um atributo personalizado (AssemblyDelaySignAttribute) no código fonte para qualquer módulo MSIL.

/descr[iption]:text

Especifica uma seqüência de caracteres para o Description campo no assembly. Coloque a seqüência de caracteres entre aspas duplas (" ") se text contém um espaço. Essa sequência é um atributo personalizado no conjunto de módulos (assembly) e está disponível para exibição com reflexo.

Se você não especificar /win32res, /description aparece no Windows Explorer como o Win32 comentários recursos.

Se o texto é uma sequência vazia, o recurso do Win32 Comments aparecerá como um único espaço.

Se você especificar /win32res, /description não afetará as informações de recurso do Win32.

Você também pode especificar essa opção como um atributo personalizado (Description) no código fonte para qualquer módulo MSIL.

/e[vidence]:file

Incorpora file no assembly com o nome do recurso de Security.Evidence.

Você não pode usar Security.Evidence para recursos regulares.

/fileversion:version

Especifica uma sequência para o File Version campo no conjunto. Essa sequência é um atributo personalizado no conjunto de módulos (assembly) e está disponível para exibição com reflexo.

Se você não especificar /win32res, /fileversion será usado como o Win32 Versão do arquivo recursos. Se você não especificar /fileversion, Win32 Versão do arquivo recurso será preenchido por Win32 Versão do Assembly recursos.

Se /win32res for especificado, /fileversion não afeta o recurso do Win32.

Você pode especificar essa opção como um atributo personalizado (AssemblyFileVersionAttribute) no código fonte do qualquer módulo MSIL.

/flags:flags

Especifica um valor para o Flags campo no assembly. Possíveis valores para flags:

0x0000

Conjunto é lado a lado-compatível.

0x0010

Conjunto de módulos (assembly) não é possível executar com outras versões se eles está executando no mesmo domínio do aplicativo.

0x0020

Conjunto de módulos (assembly) não é possível executar com outras versões se eles está executando no mesmo processo.

0x0030

Conjunto de módulos (assembly) não é possível executar com outras versões se eles está executando no mesmo computador.

Você também pode especificar essa opção como um atributo personalizado (AssemblyFlagsAttribute) no código fonte para qualquer módulo MSIL.

/fullpaths

Faz AL.exe para usar o caminho absoluto para qualquer arquivo que são relatados em uma mensagem de erro.

/help

Exibe sintaxe de comando e opções para a ferramenta.

/keyf[ile]:filename

Especifica um arquivo (filename) que contém um par de chaves ou apenas uma chave pública para assinar um assembly. O compilador insere a chave pública no manifesto montagem e depois assina montagem final com a chave particular. Consulte o Strong Name Tool (sn. exe) para obter informações sobre como gerar arquivos de chave e a instalação de pares de chaves em recipientes de chave.

Se você estiver usando assinatura atrasada, esse arquivo normalmente terá a chave pública mas não a chave particular.

As informações da chave (do par de chaves) pública aparece no campo.Publickey da montagem.

Você também pode especificar essa opção como um atributo personalizado (AssemblyKeyFileAttribute) no código fonte para qualquer módulo MSIL.

Se ambos os /keyfile e /keyname especificado (por opção de linha de comando ou por atributo personalizado) em que a mesma compilação Al.exe será primeira tentativa, o contêiner especificado com /keyname. Se o que for bem-sucedida, o assembly é assinado com as informações do contêiner de chave. Se Al.exe não localizar o contêiner de chave, ele tentará o arquivo especificado com /keyfile. Se o que for bem-sucedida, o assembly é assinado com as informações no arquivo de chave e as informações de chave serão instaladas no recipiente de chave (semelhante a -i opção na sn. exe) para que na próxima compilação, o /keyname opção será válida.

/keyn[ame]:text

Especifica um contêiner que contém um par de chaves. Isso irá assinar o assembly (dar um nome forte) inserindo-se em uma chave pública no manifesto do assembly. AL.exe, em seguida, se conectará o conjunto final com a chave particular.

Use Sn.exe para gerar um par de chaves.

As informações da chave aparece no campo.Publickey da montagem.

Local text entre aspas duplas (" ") se houver um espaço incorporado.

Você também pode especificar essa opção como um atributo personalizado (AssemblyKeyNameAttribute) no código fonte para qualquer módulo MSIL.

/main:method

Especifica o nome totalmente qualificado (class.method) do método para usar como ponto de entrada ao converter um módulo para um arquivo executável.

/nologo

Suprime a faixa, ou logotipo, exibido na linha de comando quando você chamar AL.exe.

/out:filename

Especifica o nome do arquivo produzido pela Al.exe. Esta é uma opção necessária.

/platform:text

Limite que plataforma este código pode executar em; deve ser uma das x 86, Itanium, x 64, ou anycpu (o padrão).

/prod[uct]:text

Especifica uma sequência para o Product campo no conjunto. Coloque a seqüência de caracteres entre aspas duplas (" ") se text contém um espaço. Essa sequência é um atributo personalizado no conjunto de módulos (assembly) e está disponível para exibição com reflexo.

Se você não especificar /win32res, /product aparece no Windows Explorer como o Win32 Nome do produto recursos.

Se o texto é uma sequência vazia, o recurso do Win32 Product Name aparecerá como um único espaço.

Se você especificar /win32res, /product não afetará as informações de recurso do Win32.

Você também pode especificar essa opção como um atributo personalizado (AssemblyProductAttribute) no código fonte para qualquer módulo MSIL.

/productv[ersion]:text

Especifica uma sequência para o Product Version campo no conjunto. Coloque a seqüência de caracteres entre aspas duplas (" ") se text contém um espaço. Essa sequência é um atributo personalizado no conjunto de módulos (assembly) e está disponível para exibição com reflexo.

Se você não especificar /win32res, /productversion será usado como o Win32 Versão do produto recursos. Se você não especificar /productversion, Win32 Versão do produto recurso será preenchido por Win32 Versão do arquivo recursos.

Se você especificar /win32res, /productversion não afetará as informações de recurso do Win32.

Você também pode especificar essa opção como um atributo personalizado (AssemblyInformationalVersionAttribute) no código fonte para qualquer módulo MSIL.

/t[arget]:lib[rary] | exe | win[exe]

Especifica o formato de arquivo do arquivo de saída: lib[rary]. (console aplicativo), (biblioteca código), exe ou win[exe] (aplicativo baseado no Windows) O padrão é lib[rary].

/template:filename

Especifica o conjunto filename, do qual herdar todos os metadados do assembly, exceto o campo da cultura.

Um assembly que você criar com /template será um assembly satélite.

/title:text

Especifica uma sequência para o Title campo no conjunto. Coloque a seqüência de caracteres entre aspas duplas (" ") se text contém um espaço. Essa sequência é um atributo personalizado no conjunto de módulos (assembly) e está disponível para exibição com reflexo.

Se você não especificar /win32res, /title aparece no Windows Explorer como o Win32 Descrição recursos, que é usado pelo shell como o nome amigável de um aplicativo. Ele também é exibido no submenu Open With do menu de atalho para um tipo de arquivo para o qual há vários aplicativos de suporte.

Se o texto é uma sequência vazia, o recurso do Win32 Description aparecerá como um único espaço.

Se você especificar /win32res, /title não afetará as informações de recurso do Win32.

Você também pode especificar essa opção como um atributo personalizado (AssemblyTitleAttribute) no código fonte para qualquer módulo MSIL.

/trade[mark]:text

Especifica uma sequência para o Trademark campo no conjunto. Coloque a seqüência de caracteres entre aspas duplas (" ") se text contém um espaço. Essa sequência é um atributo personalizado no conjunto de módulos (assembly) e está disponível para exibição com reflexo.

Se você não especificar /win32res, /trademark aparece no Windows Explorer como o Win32 marca registrada recursos.

Se o texto é uma sequência vazia, o recurso do Win32 Trademark aparecerá como um único espaço.

Se você especificar /win32res, /trademark não afetará as informações de recurso do Win32.

Você também pode especificar essa opção como um atributo personalizado (AssemblyTrademarkAttribute) no código fonte para qualquer módulo MSIL.

/v[ersion]:version

Especifica informações versão para este conjunto de módulos (assembly). O formato da seqüência de caracteres de versão é major.minor.build.revision. O valor padrão é 0.

Se você especificar /version, você deve especificar major. Se você especificar major e minor, você pode especificar um asterisco (*) para build. Isso faz com que build para ser igual ao número de dias desde 1 de janeiro de 2000, hora local, e revision para ser igual ao número de segundos desde a meia-noite do dia atual, hora local, dividido por 2.

Se você especificar major, minor, e build, você pode especificar um asterisco para revision. Isso faz com que revision para ser igual ao número de segundos desde a meia-noite do dia atual, hora local, dividido por 2.

Para resumir, as seqüências de caracteres de versão válidos são:

X

X.X

X.X.*

X.X.X

X.X.X.*

X.X.X.X

onde X é qualquer constante curto não assinado, exceto 65535 (0-65534).

Se você não especificar /win32res, /version será usado como o Win32 Versão do Assembly recursos.

Se você não especificar /win32res, /productversion, e /fileversion, /version será usado para o Versão do Assembly, versão do arquivo, e Versão do produto recursos do Win32.

Se você especificar /win32res, /version não afetará as informações de recurso do Win32.

Você também pode especificar essa opção como um atributo personalizado (AssemblyVersionAttribute) no código fonte para qualquer módulo MSIL.

/win32icon:filename

Insere um arquivo.ico na montagem. O arquivo.ico oferece o arquivo de saída a aparência desejada no Windows Explorer.

/win32res:filename

Insere um recurso do Win32 (arquivo. res) no arquivo de saída. Um arquivo de recurso Win32 pode ser criado usando o compilador de recursos. O compilador de recursos é chamado quando você compile um programa Visual C++; um arquivo. res é criado a partir do arquivo.rc.

@filename

Especifica um arquivo de resposta que contém comandos AL.exe.

Comandos no arquivo de resposta pode aparecer um por linha ou na mesma linha, separados por um ou mais espaços.

/?

Exibe sintaxe de comando e opções para a ferramenta.

Comentários

Todos os compiladores Visual Studio produzir conjuntos de módulos (assemblies). No entanto, se você tiver um ou mais módulos (metadados sem um manifesto), você pode usar AL.exe para criar um conjunto com o manifesto em um arquivo separado

Para instalar assemblies no cache, remover assemblies do cache, ou listar o conteúdo do cache, use o Global Assembly Cache Tool (Gacutil. exe).

Exemplo

O comando a seguir cria um arquivo t2a.exe executável com um conjunto a partir do t2.netmodule módulo. O ponto de entrada é o Main método no MyClass.

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

Consulte também

Tarefas

Como: Executar testes automatizados a partir da linha de comando, usando MSTest

Referência

Ferramenta AL.exe erros e avisos

Sn. exe (ferramenta de nome forte)

Gacutil. exe (ferramenta de Cache de Assembly Global)

Prompt de comando Visual Studio

Outros recursos

Ferramentas.NET Framework

Programação com assemblies