O que é o formato de ficheiro SETTINGS?
Um arquivo .settings é um documento XML usado pelo Visual Studio para definir configurações de usuário e de aplicativo tipadas e persistentes em projetos desktop .NET. Ele reside na pasta Properties/ de projetos C# (ou My Project/ no VB.NET) e é quase sempre nomeado como Settings.settings.
A estrutura XML usa um elemento raiz <SettingsFile> contendo entradas <Setting>, cada uma com um nome, um tipo .NET (System.String, System.Drawing.Color, etc.), um escopo (Application ou User) e um valor padrão. No momento da compilação, o MSBuild gera uma classe wrapper fortemente tipada - normalmente Properties.Settings - para que as configurações sejam acessadas no código como Properties.Settings.Default.MySettingName com suporte total ao IntelliSense.
O escopo determina o comportamento em tempo de execução:
- O escopo Application (Aplicativo) define configurações que são somente leitura em tempo de execução e armazenadas em
app.config/app.exe.config - O escopo User (Usuário) define configurações que permitem leitura e escrita em tempo de execução e são persistidas no arquivo
user.configna pasta%AppData%do usuário
O esquema .settings tem sido estável desde o .NET Framework 2.0 (Visual Studio 2005) e continua sendo a abordagem padrão para aplicações desktop WinForms e WPF até o .NET 8. Para projetos .NET 5+ multiplataforma mais recentes, a Microsoft recomenda o uso de appsettings.json com IConfiguration em seu lugar.
Segurança e proteção
RISCO: LOWUm arquivo .settings é XML puro e não pode ser executado. Ele pode conter informações sensíveis (strings de conexão, chaves de API, nomes de usuário/senhas padrão) se o desenvolvedor armazenar tais dados em configurações de escopo Application - inspecione antes de compartilhar ou enviar para controle de versão. Configurações de escopo User contendo dados sensíveis são uma preocupação se o user.config no AppData estiver exposto.
Detalhes do formato
em resumo- Arquivos de configuração de aplicativos genéricos (diversos) - Muitas aplicações não-.NET e motores de jogos usam .settings como uma extensão genérica para configurações no estilo XML ou INI - sem relação com o Visual Studio.
- Configurações do Unity Editor - O Unity Engine usa arquivos .settings para algumas preferências internas do editor; formato distinto do .settings do Visual Studio.
Programas que abrem arquivos SETTINGS
Detalhes técnicos
especificação profunda| Codificação de arquivo | Texto UTF-8 (declarado no cabeçalho de declaração XML) |
| Tipo MIME | application/xml (alt: text/xml) |
| Elemento XML raiz | <SettingsFile> contendo elementos filhos <Settings> e <Setting> |
| Tipos de escopo de configuração | Application (somente leitura em tempo de execução, armazenado em app.config) e User (leitura e escrita, persistido em user.config) |
| Caminho de execução do escopo User | %AppData%\NomeDaEmpresa\NomeDoApp\Versao\user.config |
| Geração de código em tempo de compilação | O MSBuild gera uma classe wrapper Properties.Settings fortemente tipada com acessores acessíveis via IntelliSense |
| Nome de arquivo padrão | Settings.settings (por convenção; um por projeto) |
| Localização na pasta do projeto | Pasta Properties/ (projetos C#) ou pasta My Project/ (projetos VB.NET) |
| Estabilidade do esquema | Inalterado desde o .NET Framework 2.0 / VS 2005 até o .NET 8 / VS 2022 |
| Tipos de valores suportados | Qualquer tipo .NET serializável: String, Int32, Boolean, Color, Size, strings de conexão e tipos personalizados |
| Sistema operacional | Windows (.NET Framework e cargas de trabalho desktop .NET) |
| Alternativa moderna | appsettings.json + IConfiguration, recomendado para projetos multiplataforma .NET 5+ |
| Lançado | 2005 (.NET Framework 2.0 / Visual Studio 2005) |
| Versão mais recente | Current as of Visual Studio 2022 / .NET 8 (schema unchanged since .NET 2.0) |
| Especificação | learn.microsoft.com |
Conversões de SETTINGS
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos SETTINGS.