Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um arquivo de configuração de aplicativo é um arquivo XML usado para controlar a vinculação de assembly. Ele pode redirecionar um aplicativo de usar uma versão de um assembly lado a lado para outra versão do mesmo assembly. Isso é chamado de configuração por aplicativo. Um arquivo de configuração de aplicativo se aplica somente a um manifesto de aplicativo específico e assemblies dependentes. Componentes isolados compilados com um manifesto de ISOLATIONAWARE_MANIFEST_RESOURCE_ID incorporado exigem um arquivo de configuração de aplicativo separado. Os manifestos gerenciados com CreateActCtx exigem um arquivo de configuração de aplicativo separado.
O redirecionamento especificado por um arquivo de configuração do aplicativo pode substituir as versões de assembly especificadas por manifestos do aplicativo e arquivos de configuração do editor. Por exemplo, se um arquivo de configuração do editor especificar que todas as referências a um assembly sejam redirecionadas da versão 1.0.0.0 para 1.1.0.0, um arquivo de configuração do aplicativo poderá ser usado para redirecionar um aplicativo específico para usar a versão 1.0.0.0. Um arquivo de configuração do aplicativo se aplica somente ao manifesto do aplicativo especificado e aos assemblies dependentes.
Para obter uma lista completa do esquema XML, consulte Application Configuration File Schema.
Os arquivos de configuração do aplicativo têm os elementos e atributos mostrados na tabela a seguir.
| Elemento | Atributos | Necessário |
|---|---|---|
| de configuração | Sim | |
| janelas | Sim | |
| publisherPolicy | Sim | |
| aplicar | Sim | |
| tempo de execução | Não | |
| assemblyBinding | Sim | |
| sondagem | Não | |
| privatePath | Sim | |
| dependência | Não | |
| dependentesAssembleia | Sim | |
| assemblyIdentity | Sim | |
| tipo | Sim | |
| nome | Sim | |
| língua | Não | |
| processorArchitecture | Sim | |
| versão | Sim | |
| publicKeyToken | Não | |
| bindingRedirect | Sim | |
| versão antiga | Sim | |
| novoVersão | Sim |
Localização do ficheiro
Os arquivos de configuração do aplicativo devem ser instalados no mesmo local que o manifesto do aplicativo do aplicativo.
Sintaxe do nome do arquivo
O nome de um arquivo de configuração do aplicativo é o nome do executável do aplicativo seguido por .config.
Por exemplo, um arquivo de configuração de aplicativo que se refere a Example.exe ou Example.dll usaria a sintaxe de nome de arquivo mostrada no exemplo a seguir. Você pode omitir o campo para <ID do recurso> se instalar o arquivo de configuração como um arquivo separado ou se o ID do recurso for 1.
example.exe.<ID do recurso>.config
example.dll.<ID do recurso>.config
Elementos
Os nomes dos elementos e atributos diferenciam maiúsculas de minúsculas. Os valores dos elementos e atributos não diferenciam maiúsculas de minúsculas, exceto o valor do atributo type.
configuração
Um elemento container para o windows e runtime elementos de um arquivo de configuração do aplicativo. Necessário.
Mac OS
Inclui as partes do arquivo de configuração do aplicativo que se aplicam ao redirecionamento de assemblies Win32.
Observação
O autor de um aplicativo não deve incluir um arquivo de configuração com um subelemento windows como parte de seu aplicativo. Isso pode ser permitido se a única finalidade do arquivo de configuração for habilitar o funcionalidade de privatePath de um elemento de sondagem. O elemento de sondagem não está disponível em sistemas anteriores ao Windows Server 2008 R2 e ao Windows 7.
publisherPolicy
Especifica se a política de editor deve ser aplicada.
Este elemento tem os atributos mostrados na tabela a seguir.
| Atributo | Descrição |
|---|---|
| aplicar | Um valor de "sim" aplica a política do editor. Esta é a configuração padrão. O valor "não" não se aplica à política do editor. |
tempo de execução
Inclui as partes do arquivo de configuração do aplicativo que se aplicam ao redirecionamento de assemblies .Net.
assemblyBinding
Inclui as informações de redirecionamento para o aplicativo e o assembly afetado por esse arquivo de configuração do aplicativo. O primeiro subelemento de assemblyBinding deve ser um assemblyIdentity que identifica o aplicativo.
A partir do Windows Server 2008 R2 e do Windows 7, um elemento assemblyBinding pode incluir um subelemento de sondagem.
sondagem
Um subelemento opcional de um assemblyBinding elemento que estende a pesquisa de assemblies em diretórios adicionais. Os diretórios adicionais não precisam ser subdiretórios do diretório do assembly.
Observação
Este elemento não está disponível em sistemas anteriores ao Windows Server 2008 R2 e Windows 7 e só pode ser usado em um elemento windows.
Este elemento tem os atributos mostrados na tabela a seguir.
Você pode usar o especificador especial de pontos duplos em um caminho para indicar o diretório pai do diretório atual. Não mais do que dois níveis acima do diretório atual podem ser especificados usando pontos duplos. Não use pontos triplos. Por exemplo, um aplicativo usando o seguinte elemento de sondagem verifica diretórios adicionais para um assembly.
<probing privatePath="bin;..\bin2\subbin;bin3"/>
dependência
Um elemento container para pelo menos um dependentAssembly. Cada dependenteAssembly pode estar dentro de exatamente uma dependência. Este elemento não tem atributos. Opcional.
dependenteAssembleia
O primeiro subelemento deve ser um elemento assemblyIdentity que identifica o assembly lado a lado que está sendo redirecionado pelo arquivo de configuração do aplicativo. Um dependentAssembly não tem atributos.
assemblyIdentity
Como o primeiro subelemento de um elemento assemblyBinding, assemblyIdentity descreve e identifica exclusivamente um aplicativo. O arquivo de configuração do aplicativo redireciona a vinculação desse aplicativo para assemblies lado a lado. Por exemplo, o seguinte assemblyIdentity indica que o arquivo de configuração do aplicativo afeta a associação do aplicativo mysampleApp a assemblies lado a lado. As assembleias que estão sendo redirecionadas seriam identificadas em um dependenteAssembly.
<assemblyIdentity processorArchitecture="X86" name="Microsoft.Windows.mysampleApp" type="win32" version="1.0.0.0"/>
Como o primeiro subelemento de um elemento dependentAssembly, assemblyIdentity descreve um assembly lado a lado do qual o aplicativo depende. O arquivo de configuração do aplicativo reconfigura a identidade desse assembly necessário. Por exemplo, o seguinte assemblyIdentity e bindingRedirect reconfigura uma dependência em Microsoft.Windows.SampleAssembly da versão 2.0.0.0 para a versão 2.1.0.0.
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.SampleAssembly"
processorArchitecture="x86"
publicKeyToken="0000000000000000"/>
<bindingRedirect oldVersion="2.0.0.0" newVersion="2.1.0.0"/>
</dependentAssembly>
</dependency>
Observe que cada assemblyIdentity incluído em um de dependentAssembly deve corresponder exatamente ao assemblyIdentity no manifesto do assembly .
O elemento assemblyIdentity tem os seguintes atributos. Não tem subelementos.
| Atributo | Descrição |
|---|---|
| tipo | O valor deve ser win32 (minúsculas). Necessário. |
| nome | O atributo name identifica o aplicativo que está sendo afetado pelo arquivo de configuração do aplicativo ou pelo assembly que está sendo redirecionado. Use o seguinte formato para o nome: Organization.Division.Name. Necessário. Por exemplo: Microsoft.Windows.MysampleApp ou Microsoft.Windows.MysampleAsm. |
| língua | Identifica o idioma. Opcional. Para um assemblyIdentity referindo-se a um assembly, se o assembly for específico do idioma, especifique o código do idioma DHTML. Se o assembly for para uso mundial (idioma neutro), defina o valor como "*". |
| processorArchitecture | Especifica o processador que executa o aplicativo. |
| versão | Especifica a versão do aplicativo ou assembly. Use a sintaxe da versão em quatro partes: mmmm.nnnn.oooo.pppp. Necessário. |
| publicKeyToken | Para um assemblyIdentity referindo-se a um assembly, uma cadeia hexadecimal de 16 caracteres que representa os últimos 8 bytes do hash SHA-1 da chave pública sob a qual o assembly está assinado. A chave pública usada para assinar o catálogo deve ser de 2048 bits ou superior. Necessário para todas as montagens lado a lado compartilhadas. |
vinculaçãoRedirecionamento
O elemento bindingRedirect contém informações de redirecionamento para a vinculação do assembly. Cada bindingRedirect deve ser incluída em exatamente um dependentAssembly. A sintaxe da versão em quatro partes da nova versão e da versão antiga deve especificar as mesmas versões principais e secundárias.
Este elemento tem os atributos mostrados na tabela a seguir.
| Atributo | Descrição |
|---|---|
| versão antiga | Especifica a versão do assembly que está sendo substituída e redirecionada. Use a sintaxe da versão em quatro partes nnnnn.nnnnn.nnnnn.nnnnn. Especifique um intervalo de versões por um traço sem espaços. Por exemplo, 2.14.3.0 ou 2.14.3.0 2.16.0.0. Necessário. |
| novoVersão | Especifica a versão do assembly de substituição. Use a sintaxe da versão em quatro partes nnnnn.nnnnn.nnnnn.nnnnn. |
Comentários
Os arquivos de configuração do aplicativo não especificam arquivos.
Exemplo
<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.10.0"/>
<bindingRedirect oldVersion="1.0.50.2011-1.0.60.65535" newVersion="1.0.70.0"/>