Ao usar um arquivo Settings.settings no .NET, onde a configuração é realmente armazenada? Quero excluir as configurações salvas para voltar ao estado padrão, mas não consigo encontrar onde estão armazenadas ... alguma ideia?
100
Depende se a configuração que você escolheu está no escopo "Usuário" ou no escopo "Aplicativo".
As configurações de escopo do usuário são armazenadas em
C: \ Documents and Settings \ nome de usuário \ Local Settings \ Application Data \ ApplicationName
Você pode ler / escrever no tempo de execução.
Para Vista e Windows 7, a pasta é
C: \ Users \ username \ AppData \ Local \ ApplicationName
ou
C: \ Users \ username \ AppData \ Roaming \ ApplicationName
As configurações de escopo do aplicativo são salvas AppName.exe.config
e somente leitura no tempo de execução.
Aqui está o snippet que você pode usar para obter a localização do arquivo user.config de maneira programática:
ApplicationSettings (ou seja, settings.settings) usa PerUserRoamingAndLocal para as configurações do usuário por padrão (como me lembrei).
Atualização: Estranho, mas há muitas respostas incorretas aqui. Se você estiver procurando por seu arquivo de configurações com escopo de usuário (user.config), ele estará localizado na seguinte pasta (para Windows XP):
Url ou StrongName depende do seu nome forte do assembly do aplicativo ou não.
fonte
Supondo que você esteja falando sobre desktop e não aplicativos da web:
Quando você adiciona configurações a um projeto, o VS cria um arquivo nomeado
app.config
no diretório do projeto e armazena as configurações nesse arquivo. Ele também cria oSettings.cs
arquivo que fornece os acessadores estáticos para as configurações individuais.No momento da compilação, o VS irá (por padrão; você pode alterar isso) copiar o
app.config
para o diretório de construção, alterando seu nome para corresponder ao executável (por exemplo, se o seu executável for nomeadofoo.exe
, o arquivo será nomeadofoo.exe.config
), que é o nome do. O gerenciador de configuração NET procura quando recupera as configurações em tempo de execução.Se você alterar uma configuração por meio do editor de configurações do VS, ele atualizará
app.config
eSettings.cs
. (Se você observar os acessadores de propriedade no código gerado noSettings.cs
, verá que eles estão marcados com um atributo contendo o valor padrão da configuração que está em seuapp.config
arquivo.) Se você alterar uma configuração editando oapp.config
arquivo diretamente,Settings.cs
não será atualizado, mas o novo valor ainda será usado por seu programa quando você executá-lo, porqueapp.config
é copiadofoo.exe.config
em tempo de compilação. Se você desligar isso (definindo as propriedades do arquivo), você pode alterar uma configuração editando diretamente ofoo.exe.config
arquivo no diretório de compilação.Depois, há configurações de escopo do usuário.
As configurações do escopo do aplicativo são somente leitura. Seu programa pode modificar e salvar configurações de escopo do usuário, permitindo que cada usuário tenha suas próprias configurações. Essas configurações não são armazenadas no
foo.exe.config
arquivo (já que no Vista, pelo menos, os programas não podem gravar em nenhum subdiretório ouProgram Files
sem elevação); eles são armazenados em um arquivo de configuração no diretório de dados do aplicativo do usuário.O caminho para esse arquivo é
%appdata%\%publisher_name%\%program_name%\%version%\user.config
, por exemploC:\Users\My Name\AppData\Local\My_Company\My_Program.exe\1.0.0\user.config
. Observe que se você deu ao seu programa um nome forte, o nome forte será anexado ao nome do programa neste caminho.fonte
Ao navegar para descobrir o hash no nome da pasta, descobri (por meio desta resposta ):
http://blogs.msdn.com/b/rprabhu/archive/2005/06/29/433979.aspx(editar: link Wayback Machine: https://web.archive.org/web/20160307233557/http://blogs.msdn.com:80/b/rprabhu/archive/2005/06/29/433979.aspx )
fonte
Ele está em uma pasta com o nome do seu aplicativo na pasta Application Data na pasta home do usuário (C: \ documents and settings \ user no xp e c: \ users \ user no Windows Vista).
Existem algumas informações aqui também.
PS: - tente acessá-lo por% appdata% na caixa de execução!
fonte
Erm, você não pode simplesmente usar Settings.Default.Reset () para restaurar suas configurações padrão?
fonte
Todas as suas configurações são armazenadas no respectivo arquivo .config.
O arquivo .settings simplesmente fornece uma classe fortemente tipada para um conjunto de configurações que pertencem juntas, mas as configurações reais são armazenadas em app.config ou um arquivo .config em seu aplicativo.
Se você adicionar um arquivo .settings, um app.config será adicionado automaticamente para abrigar as configurações se você ainda não tiver um.
fonte
Se o seu arquivo de configurações estiver em um aplicativo da web, eles estarão no arquivo web.config (logo abaixo do seu projeto. Se eles estiverem em qualquer outro tipo de projeto, eles estarão no arquivo app.config (também abaixo do seu projeto) .
Editar
Como é apontado nos comentários: as configurações do aplicativo em tempo de design estão em um arquivo app.config para aplicativos que não sejam da web. Quando você constrói, o arquivo app.config é copiado para o diretório de saída e será nomeado yourexename .exe.config. Em tempo de execução, apenas o arquivo chamado yourexename.exe.config será lido.
fonte
Dois arquivos: 1) Um arquivo app.config ou web.config. As configurações dela podem ser personalizadas após construir com um editor de texto. 2) O arquivo settings.designer.cs. Este arquivo tem código gerado automaticamente para carregar a configuração do arquivo de configuração, mas um valor padrão também está presente caso o arquivo de configuração não tenha a configuração específica.
fonte
Eu sei que já foi respondido, mas você não poderia simplesmente sincronizar as configurações no designer de configurações para voltar às configurações padrão?
fonte