Pergunta

Cada vez que uma nova atualização é lançada para um aplicativo com clique uma vez, as variáveis ??no arquivo app.config são destruídos

<userSettings>
    <app.My.MySettings>
      <setting name="Email" serializeAs="String">
        <value />
      </setting>
      <setting name="UserName" serializeAs="String">
        <value />
      </setting>
    </app.My.MySettings>
  </userSettings>

Como posso evitar isso?

Existe alguma maneira de feching as variáveis ??da versão da aplicação anterior?

Foi útil?

Solução

Você tem as "candidaturas deverão Check for Updates" opção marcada?

Tenha um olhar em Explorando Segredos de Configurações do aplicativo persistentes (seção intitulado "A manutenção de configurações entre versões do programa"):

Para quaisquer configurações do atual versão de que as configurações de correspondência no versão anterior, esta vontade de rotina importá-los para a versão atual do arquivo user.config:

No ponto de entrada para o seu programa, coloque o seguinte código.

if (Properties.Settings.Default.UpgradeSettings) 
{
   Properties.Settings.Default.Upgrade();
   Properties.Settings.Default.UpgradeSettings = false;
}

Note que UpgradeSettings é um boolean user definição (não aplicação) que você precisa para adicionar a si mesmo, e você quer que o valor padrão a ser True.

Outras dicas

Se você usar as configurações de nível de usuário em vez das definições em nível de aplicativo, ele irá copiá-los para a frente quando uma nova versão é recuperado. A coisa mais segura a fazer, porém, é para separar esses dados da atualização ClickOnce, uh, "experiência". Ver se isso ajuda:

http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top