Jump to content
Nazgulled

Easy Settings (Biblioteca .NET)

Recommended Posts

Nazgulled

Titulo do Projecto:

Easy Settings

Última Versão:

1.2.14299.2020

1.1.1413

1.1.1116

1.1.523

1.1.505

1.0.124

Líder do Projecto:

Nazgulled

Descrição do Projecto:

Easy Settings é a biblioteca .NET mais fácil e simples de usar que irá encontrar para gerir as definições da sua aplicação criada em VB.NET, C# e possivelmente qualquer outra linguagem .NET da qual eu não tenho conhecimento. Esta biblioteca é tão fácil e directa de usar como apenas colocar todas as definições como propriedades numa única classe. Os seus valores irão ser guardados num ficheiro XML para que sejam facilmente lidos e modificados manualmente.

Página Oficial do Projecto:

https://github.com/rfgamaral/EasySettings

Edited by Nazgulled

Share this post


Link to post
Share on other sites
Nazgulled

Essa classe settings que vem com o .NET tem estes problemas:

- Se quiseres guardar as settings por utilizador (AppData) guarda-te numa localização um bocado manhosa.

- Não podes definir o elemento da raíz do XML.

- Não podes definir o nome que queres para o ficheiro.

- Se o valor que queres não existir no XML, é devolvido null, não tens forma automática de verificar se o valor é null e repor um definido por omissão.

- Se alguém modificar directamente algum valor no XML, não tens forma automática de verificar se o valor é válido e repor um definido por omissão.

- Todos os valores são devolvidos do XML como strings, é necessário uma conversão manual.

- Se por algum motivo precisares de separar settings por vários ficheiros, não o podes fazer.

- Se for settings a nível de aplicação, não podes escrever/modificar as settings. (1)

(1) Se usares a minha lib para contornar este problema e decidires gravar o ficheiro na pasta do programa que possivelmente estará em "Program Files", a minha lib não faz nada para contornar as permissões. Ou seja, o ficheiro a escrever tem de ter as permissões necessárias para o utilizador a correr o programa escrever no ficheiro. As settings de .NET a nível de aplicação não permitem escrita de qualquer maneira.

Sei que algumas são irrelevantes para a maioria (tipo o nome do ficheiro e o elemento da raíz) mas para mim não, eu gosto de configurar tudo à minha maneira. Se calhar há mais razões, mas eu agora não sei... :)

Share this post


Link to post
Share on other sites
joaoqalves

Parece-me porreira esta lib :) já tens comentário no blog :)

Depois dou mais feedback :P


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!Queres estar na moda? Utiliza a pesquisa e evita criar um tópico desnecessário.

Share this post


Link to post
Share on other sites
Nazgulled

Tenho-me esquecido de actualizar esta página com os últimos lançamentos desta biblioteca (que não são muitos), portanto fica aqui um update.

Já foram lançadas duas novas versões desde o primeiro lançamento onde apenas foi introduzida uma nova funcionalidade e corrigido um bug:

  • Resolvido problema onde o fluxo de escrita não era fechado (temporariamente bloqueando o ficheiro XML). (v1.1.523)
  • Adicionado suporte básico para definições baseadas em tipos enumerados. (v1.1.505)

Para quem usa a versão 0.7 FireNotes... Podem facilmente resolver o problema quando por vezes o ficheiro 'settings.xml' se encontrava a ser usado (dando um erro), substituindo o ficheiro EasySettings.dll na directoria do FireNotes pela versão mais recente.

Share this post


Link to post
Share on other sites
Nazgulled

Esqueci-me de avisar aqui que há uns tempos lancei uma nova versão desta biblioteca...

Versão 1.1.1116:

  • Espera adequadamente que o bloqueio sobre o ficheiro XML seja fechado (resolve o suposto problema resolvido na revisão anterior).
  • Pequena melhoria na manutenção dos recursos.

Share this post


Link to post
Share on other sites
fLaSh_PT

Parece muito interessante o projecto.. ainda não vi bem.. mas irei ver!

Acho que seria mais intuitivo.. se liberta se um pequeno "Project sample - who to use".. apenas minha sugestão..

Obrigado pela fonte.

Compr.


Making the impossible possible and pwing the world on db at a time.

Share this post


Link to post
Share on other sites
Nazgulled

Parece muito interessante o projecto.. ainda não vi bem.. mas irei ver!

Acho que seria mais intuitivo.. se liberta se um pequeno "Project sample - who to use".. apenas minha sugestão..

Tens aqui toda a documentação que precisares: https://github.com/rfgamaral/EasySettings/wiki

Btw, fizeste um comentário no meu blog num post já um bocado antigo e não nesta nova versão que faria um pouco mais de sentido. :P Se não te importares, volta a comentar mas no post mais actualizado (actualizei o link no post inicial deste tópico) que eu depois apago o outro...

Edited by Nazgulled

Share this post


Link to post
Share on other sites
Nazgulled

Já estava na altura de começar a usar o GitHub mais a sério e acabei de disponbilizar lá a última versão desta biblioteca. Sofreu algumas melhorias e alguns fixes em preparação para uma outra aplicação que estou a desenvolver.

Para quem estiver interessado, tudo relacionado com este projecto pode agora ser consultado no GitHub:

https://github.com/rfgamaral/EasySettings

Share this post


Link to post
Share on other sites
Amigo

Bom contributo.

Uma coisa destas faz sempre muita falta na toolbox. Com uma coisa destas é mais fácil de manter as configurações entre upgrades de aplicação - como os settings do framework estão "ligados" à versao do .exe, sempre que se altera a versão os settings levam com um reset, coisa que normalmente é um problema.

Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.