Compartilhar via


Vinculador do conjunto (AL.exe) 

O vinculador de assembly gera um arquivo que tenha um assembly manifesto de um ou mais arquivos que estão em módulos 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çãoObservação:

Para evitar ficar sujeito a virtualização em um Windows Vista computador , seu conjunto deve incluir um manifesto win32 que especifica um nível de execução solicitado. Quando usando al.exe diretamente a partir da linha de comando, você pode ou incorporar o manifesto em um arquivo de recurso win32 ou então use mt.exe para acrescentar o manifesto em um preparar posterior no processo de compilação. Em Visual Studio 2008 compiladores translation from VPE for Csharp e no Visual Basic incorpore automaticamente um manifesto win32 no assembly. Para obter mais informações, consulte /win32manifest (importar um arquivo de manifesto Win32 Personalizar) (opções do compilador de C#).

al sources options

Parâmetros

Você pode especificar um ou mais o seguinte sources.

Origem

Descrição

file[,target]

Copia o Sumário de file (um módulo) ao nome de arquivo especificado por target. Depois de copiar, Al.exe compila 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 Sumário de file na imagem executável portátil (PE).

The name parameter is an internal identifier for the resource. Por padrão, os recursos são pública na montagem (visível aos outros conjuntos). Especificando private torna o recurso não estiver visível para outros assemblies.

If file é um arquivo de recurso do .NET estrutura criado, por exemplo, pela Recurso File gerador (Resgen.exe) ou no ambiente de desenvolvimento, ele pode ser acessado com membros no System.Resources. Para obter mais informações, consulte ResourceManager. Para todos os outros recursos, use o GetManifestResource* métodos na Assembly para acesso recursos em time 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 conjunto; o arquivo não é copiado. The file parâmetro pode ser em qualquer formato de arquivo. Por exemplo, você pode especificar uma DLL nativo sistema autônomo a 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 conjunto de módulos (assembly). Você também pode fazer isso usando o /linkresource opção do compilador. Para obter mais informações, consulte /linkresource (link para recursos do .NET Framework) (opções do compilador de C#).

Thename parameter is an internal identifier for the resource. The targetparameter specifies a path and file name into which Al.exe copies the file. Depois de copiar, Al.exe compila target em um assembly. Por padrão, os recursos são pública na montagem (visível aos outros conjuntos). Especificando private torna o recurso não estiver visível para outros assemblies.

If file é um arquivo de recurso do .NET estrutura criado, por exemplo, por Resource File gerador (Resgen.exe) ou no ambiente de desenvolvimento, ele pode ser acessado com os membros do System.Resources espaço para nome. Para obter mais informações, consulte ResourceManager. Para todos os outros recursos, use o GetManifestResource * métodos na Assembly classe para acessar o recurso em time 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 sistema autônomo um atributo personalizado (AssemblyAlgorithmIdAttribute) no código de fonte de 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 carregada mais rapidamente se você especificar o endereço básico das DLLs, em vez de permitir que o sistema operacional 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 em aspas duplas ("") setext 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 sistema autônomo o Company propriedade do arquivo. Se você especificar /win32res, sistema autônomo informações da empresa no arquivo de recurso especificado aparecem sistema autônomo o Company propriedade no Windows Explorer.

Se o texto for uma seqüência de caracteres vazia (""), o Win32Company recurso aparece sistema autônomo um único espaço.

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

Você também pode especificar essa opção sistema autônomo um atributo personalizado (AssemblyCompanyAttribute) no código de fonte de qualquer módulo MSIL.

/config[uration]:text

Especifica uma sequência para o campo configuração na montagem. Coloque a seqüência de caracteres em aspas duplas ("") setext 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 sistema autônomo um atributo personalizado (AssemblyConfigurationAttribute) no código de fonte de qualquer módulo MSIL.

/copy[right]:text

Especifica uma sequência para o campo Copyright na montagem. Coloque a seqüência de caracteres em aspas duplas ("") setext 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 sistema autônomo o recurso de direitos autorais 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 sobre o recurso do Win32.

Você também pode especificar essa opção sistema autônomo um atributo personalizado (AssemblyCopyrightAttribute) no código de fonte de 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 em aspas duplas ("") setext 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 sistema autônomo um atributo personalizado (AssemblyCultureAttribute) no código de fonte de qualquer módulo MSIL.

/delay[sign][+|-]

Especifica se conjunto será totalmente ou parcialmente entrar. Use /delaysign- Se você desejar que um assembly totalmente assinado. Use /delaysign+ Se você apenas deseja incluir a chave pública no 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-.

The /delaysign opção não terá efeito a menos que usadas 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çãoObservação:
Antes de usar o Global ferramenta cache assembly (Gacutil.exe)  para colocar um assembly assinado atraso no cache global, use o Ferramenta Strong Name (Sn.exe) para registrar o assembly para ignorar verificação. Por exemplo, Sn.exe –Vr delaySignedAssembly.Use esta somente para desenvolvimento.

Você também pode especificar essa opção sistema autônomo um atributo personalizado (AssemblyDelaySignAttribute) no código de fonte de qualquer módulo MSIL.

/descr[iption]:text

Especifica uma seqüência de caracteres para o Description campo do assembly. Coloque a seqüência de caracteres em aspas duplas ("") setext 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 sistema autônomo o Win32 Comentários recurso.

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 sobre o recurso do Win32.

Você também pode especificar essa opção sistema autônomo um atributo personalizado (Description) no código de fonte de qualquer módulo MSIL.

/e[vidence]:file

Incorpora file no conjunto de módulos (assembly) com o nome de recurso do segurança.evidência.

Não é possível usar segurança.evidência 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 sistema autônomo o Win32 Versão de arquivo recurso. Se você não especificar /fileversion, o Win32 Versão de arquivo recurso será preenchido com o Win32 Versão do assembly recurso.

If /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 do assembly. Valores possíveis 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 sistema autônomo um atributo personalizado (AssemblyFlagsAttribute) no código de fonte de 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 emparelhar 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 nome forte ferramenta (sn.exe) para obter informações sobre como gerar arquivos de chave e 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 sistema autônomo um atributo personalizado (AssemblyKeyFileAttribute) no código de fonte de qualquer módulo MSIL.

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

/keyn[ame]:text

Especifica um contêiner que contém um par de chaves. Isso irá assinar uma assembly (dar um nome forte) inserindo uma chave pública no manifesto do assembly. Al.exe será, em seguida, assinar 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.

Coloque textaspas duplas ("") se houver um espaço incorporado.

Você também pode especificar essa opção sistema autônomo um atributo personalizado (AssemblyKeyNameAttribute) no código de fonte de qualquer módulo MSIL.

/main:method

Especifica o nome totalmente qualificado (class. method) do método a ser usado sistema autônomo uma entrada aponte ao converter um módulo em 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. Essa é 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 em aspas duplas ("") setext 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 sistema autônomo o Win32 Nome do produto recurso.

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 sobre o recurso do Win32.

Você também pode especificar essa opção sistema autônomo um atributo personalizado (AssemblyProductAttribute) no código de fonte de qualquer módulo MSIL.

/productv[ersion]:text

Especifica uma sequência para o Product Version campo no conjunto. Coloque a seqüência de caracteres em aspas duplas ("") setext 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 sistema autônomo o Win32 Versão do produto recurso. Se você não especificar /productversion, o Win32 Versão do produto recurso será preenchido com o Win32 Versão de arquivo recurso.

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

Você também pode especificar essa opção sistema autônomo um atributo personalizado (AssemblyInformationalVersionAttribute) no código de fonte de qualquer módulo MSIL.

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

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

/template:filename

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

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

/title:text

Especifica uma sequência para o Title campo no conjunto. Coloque a seqüência de caracteres em aspas duplas ("") setext 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 sistema autônomo o Win32 Descrição recurso, que é usado pelo shell sistema autônomo 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 sobre o recurso do Win32.

Você também pode especificar essa opção sistema autônomo um atributo personalizado (AssemblyTitleAttribute) no código de fonte de qualquer módulo MSIL.

/trade[mark]:text

Especifica uma sequência para o Trademark campo no conjunto. Coloque a seqüência de caracteres em aspas duplas ("") setext 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 sistema autônomo o Win32 Marca registrada recurso.

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 sobre o recurso do Win32.

Você também pode especificar essa opção sistema autônomo um atributo personalizado (AssemblyTrademarkAttribute) no código de fonte de 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 que seja igual ao número de dias desde 1 º de janeiro de 2000, time local, e revision para que seja igual ao número de segundos desde a meia-noite, 1 º de janeiro de 2000, na time local, dividido por 2.

Se você especificar major, minor, e build, você pode especificar um asterisco para revision. Isso faz com que revision para que seja igual ao número de segundos desde a meia-noite, 1 º de janeiro de 2000, na time local, dividido por 2.

Para resumir, sistema autônomo seqüências de caracteres de versão válido 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 sistema autônomo o Win32 Versão do assembly recurso.

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

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

Você também pode especificar essa opção sistema autônomo um atributo personalizado (AssemblyVersionAttribute) no código de fonte de 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. Possível criar um arquivo de recurso do Win32 usando o compilador de recurso. 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 conjuntos de módulos (assemblies) no cache, remover conjuntos de módulos (assemblies) do cache, ou listar o conteúdo do cache, use o Global ferramenta cache assembly (Gacutil.exe).. o Global ferramenta cache assembly (Gacutil.exe)

Exemplo

O comando a seguir cria um arquivo executável t2a.exe com um assembly das t2. netmodule module. O ponto de entrada é o Main método no MyClass.

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

Consulte também

Referência

Ferramentas.NET Framework

Ferramenta AL.exe erros e avisos

Ferramenta Strong Name (Sn.exe)

Global ferramenta cache assembly (Gacutil.exe) 

Prompt de comando SDK 

Outros recursos

Programação com assemblies