Configurar aplicativos usando arquivos de configuração

O .NET Framework fornece aos desenvolvedores e administradores controle e flexibilidade para a execução de aplicativos por meio de arquivos de configuração. Os arquivos de configuração são arquivos XML que podem ser alterados quando necessário. Um administrador pode controlar quais recursos protegidos um aplicativo pode acessar, quais versões de assemblies um aplicativo usará e onde os aplicativos e objetos remotos são localizados. Os desenvolvedores podem colocar definições em arquivos de configuração, eliminando a necessidade de recompilar um aplicativo sempre que uma configuração é alterada. Esta seção descreve o que pode ser configurado e por que a configuração de um aplicativo pode ser útil.

Observação

O código gerenciado pode usar as classes no namespace System.Configuration para ler configurações dos arquivos de configuração, mas não para gravar configurações nesses arquivos.

Este tópico descreve a sintaxe dos arquivos de configuração e fornece informações sobre os três tipos de arquivos de configuração: de computador, aplicativo e segurança.

Formato de arquivo de configuração

Os arquivos de configuração contêm elementos que são estruturas de dados lógicas que definem informações de configuração. Em um arquivo de configuração, você usa marcas para marcar o início e o fim de um elemento. Por exemplo, o elemento <runtime> consiste em <runtime>elementos filho</runtime>. Um elemento vazio seria escrito como <runtime/> ou <runtime></runtime>.

Como com todos os arquivos XML, a sintaxe em arquivos de configuração diferencia maiúsculas de minúsculas.

Você especifica configurações usando atributos predefinidos que são pares de nome/valor na marca inicial de um elemento. O exemplo a seguir especifica dois atributos (version e href) para o elemento <codeBase> que especifica onde o runtime pode localizar um assembly (para obter mais informações, consulte Especificando o local de um assembly).

<codeBase version="2.0.0.0"  
          href="http://www.litwareinc.com/myAssembly.dll"/>  

Arquivos de configuração de computador

O arquivo de configuração de computador, Machine.config, contém configurações que se aplicam a um computador inteiro. Esse arquivo está localizado no diretório %runtime install path%\Config. Machine.config contém as definições de configuração para associação de assembly em todo o computador, canais remotos internos e o ASP.NET.

Primeiro, o sistema de configuração procura no arquivo de configuração de computador o elemento <appSettings> e outras seções de configuração que podem ser definidas por um desenvolvedor. Em seguida, ele examina o arquivo de configuração de aplicativo. Para manter o arquivo de configuração do computador gerenciável, é melhor colocar essas configurações no arquivo de configuração de aplicativo. No entanto, colocar as configurações no arquivo de configuração do computador pode tornar seu sistema mais sustentável. Por exemplo, se você tiver um componente de terceiros que seu aplicativo para cliente e servidor use, será mais fácil colocar as configurações para esse componente em um local. Nesse caso, o arquivo de configuração do computador será o local apropriado para as configurações de forma que você não terá as mesmas configurações em dois arquivos diferentes.

Observação

Implantar um aplicativo que use XCOPY não copiará as configurações no arquivo de configuração do computador.

Para obter mais informações de como o Common Language Runtime usa o arquivo de configuração do computador para a associação de assembly, consulte Como o tempo de execução localiza assemblies.

Arquivos de configuração de aplicativo

Um arquivo de configuração de aplicativo contém configurações específicas para um aplicativo. Esse arquivo inclui configurações que o Common Language Runtime lê (como política de associação de assembly, objetos remotos e assim por diante), além das configurações que o aplicativo pode ler.

O nome e o local do arquivo de configuração de aplicativo dependem do host do aplicativo que pode ser um dos seguintes:

  • Aplicativo hospedado em executável.

    Esses aplicativos têm dois arquivos de configuração: um arquivo de configuração de origem, que é modificado pelo desenvolvedor durante o desenvolvimento, e outro de saída que é distribuído com o aplicativo.

    Ao desenvolver no Visual Studio, coloque o arquivo de configuração de origem do aplicativo no diretório do projeto e defina sua propriedade Copiar para Diretório de Saída como Copiar sempre ou Copiar se for mais novo. Por padrão, o nome do arquivo de configuração é App.config.

    Para criar o arquivo de configuração de saída que é implantado com o aplicativo, o Visual Studio copia o arquivo de configuração de origem para o diretório em que o assembly compilado é colocado. O nome desse arquivo é <yourappname>.exe.config. Por exemplo, um aplicativo chamado myApp.exe terá um arquivo de configuração de saída chamado myApp.exe.config.

    Em alguns casos, o Visual Studio pode modificar o arquivo de configuração de saída. Para obter mais informações, consulte a seção Redirecting assembly versions at the app level (Redirecionando versões de assembly no nível do aplicativo) do artigo Redirecting Assembly Versions (Redirecionando versões de assembly).

  • Aplicativo hospedado no ASP.NET.

    Para saber mais sobre os arquivos de configuração do ASP.NET, confira Definições de configuração do ASP.NET.

  • Aplicativo hospedado no Internet Explorer.

    Se um aplicativo hospedado no Internet Explorer tiver um arquivo de configuração, o local desse arquivo será especificado em uma marca <link> com a seguinte sintaxe: <link rel="*ConfigurationFileName*" href="*location*">

    Nessa marca, location é uma URL para o arquivo de configuração. Isso define a base do aplicativo. O arquivo de configuração deve estar localizado no mesmo site que o aplicativo.

Arquivos de configuração de segurança

Os arquivos de configuração de segurança contêm informações sobre a hierarquia e os conjuntos de permissões do grupo de códigos associados a um nível de política. É altamente recomendável que você use a ferramenta Política de Segurança de Acesso a Códigos (Caspol.exe) para modificar a política de segurança a fim de garantir que as alterações de política não corrompam os arquivos de configuração de segurança.

Observação

A partir do .NET Framework 4, os arquivos de configuração de segurança estarão presentes somente se a política de segurança tiver sido alterada.

Os arquivos de configuração de segurança estão nos seguintes locais:

  • Arquivo de configuração de política empresarial: %runtime-install-path%\Config\Enterprisesec.config

  • Arquivo de configuração de política de computador: %runtime-install-path%\Config\Security.config

  • Arquivo de configuração de política de usuário: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

Confira também