.NET Deployment WinForms
-
02-07-2019 - |
Pergunta
Existe uma maneira de combinar todos os recursos em um único arquivo exe como app.config e associado da DLL?
Algumas aplicações parecem fazer isso, como eMule.
Eu não quero que meu app.config sentado lá esperando para ser editado.
Graças
Solução
Com certeza, no Solution Explorer
(assumindo Visual Studio aqui, já que você não mencionar) Right-click
e Properties
do arquivo (s) que deseja incluir.
Não deve ser uma opção lá para Build Action
que você pode definir para Embedded Resource
.
Outras dicas
Você pode, naturalmente, incorporar recursos. Vá para as propriedades de aplicação e selecione a guia "Recursos". Todos os recursos adicionais em sua será no binário principal.
Por que não ter app.config sentado lá esperando para ser editado? Muitos pacotes de software profissionais têm arquivos de configuração e ini livremente lá para ser editado.
Cara, É por isso que é um arquivo de configuração! É suposto que lhe permitem alterar a forma como um aplicativo funciona on-d-fly b!
Se você está preocupado com suas configurações, que não devem ser alterados, então tente outra armazenamento, classe, banco de dados, registro, flatfile etc, ou apenas manter um lugar réplica que pode ser usado para substituir o asneira.
dlls Mesclando - ILMerge
A fusão arquivo de configuração não vale a pena, uma vez que é suposto ser a maneira de ajustar o comportamento aplicativo sem recompilar-lo. Se você não precisa que - apenas hardcode tudo (ou o código ou como EmbeddedResources).
Se você ainda precisa de configurabilidade, você pode ocultar o arquivo no perfil do usuário.
Veja, por exemplo, http://www.codeproject.com/KB/ cs / SystemConfiguration.aspx
Se você não quiser que configurações sejam alteradas movê-los para o código em vez de configuração.
Eu concordo com alguns dos usuários. Ele derrota o propósito de "config", realmente. Apenas codificar todas as informações em uma chamada classe compartilhada "Configurações" e, em seguida, referência como
_serverIP = settings.MailServerIP
Os únicos itens que devem ser considerados são helperfiles (que se refere a alguma coisa, por exemplo), imagens, 3º dlls partido (não tenho certeza disso embora) ... para citar alguns.
O problema com os arquivos .net app.config é que modificá-los pode mudar a forma como um aplicativo funciona.
Incorporação recursos não é um problema, a esse arquivo em particular que eu estou preocupado.
Eu tenho usado Thinstall como uma embaladora de virtualização de aplicativos antes:
https://thinstall.com/help/index.php?_netsupport.htm
Este faz o que quiser, ou seja, pacotes de todas as dependências de seu aplicativo em um exectuable, incluindo os .configs.
Você também faria bem pesquisando outras ferramentas shrink-wrap de software.