Common Libraries Template
Template profissional para Visual Studio 2022
Sobre o Template
Um template profissional para Visual Studio 2022 que permite criar rapidamente uma solução com bibliotecas Common reutilizáveis. O template cria automaticamente 5 projetos interconectados com validações robustas, documentação completa e pronto para produção.
Projetos Incluídos
Common.Results
Biblioteca para padronização de retornos de operações
- Result e Result<T>
- Extensões fluent
- Metadados tipados
- Serialização JSON
Common.Exceptions
Biblioteca de exceções personalizadas
- AppException base
- Serialização .NET Framework
- CorrelationId
- DomainException
Common.Extensions
Biblioteca de extensões úteis
- Extensões para Result
- Validações automáticas
- String, List, Enum
- JSON extensions
Common.Email
Biblioteca de envio de emails
- MailKit integration
- SSL/TLS support
- Validação de email
- Suporte a anexos
Common.Logging
Biblioteca de logging
- Serilog integration
- CorrelationId middleware
- Múltiplos sinks
- Logging de resultados
Instalação
Passo 1: Baixar o Template
Baixe o arquivo CommonLibrariesTemplate.zip da seção Releases do GitHub.
Passo 2: Copiar para Visual Studio
Copie o arquivo para a pasta de templates:
%USERPROFILE%\Documents\Visual Studio 2022\Templates\ProjectTemplates\
Passo 3: Reiniciar Visual Studio
Reinicie o Visual Studio 2022 para carregar o novo template.
Passo 4: Criar Novo Projeto
- Abra o Visual Studio 2022
- Clique em "Criar um novo projeto"
- Procure por "Common Libraries Solution Template"
- Digite o nome do seu projeto
- Pronto! A solução será criada automaticamente
Melhorias da Versão 2.0
🔒 Segurança
Validações robustas em todos os componentes, incluindo validação de email, configurações SMTP e parâmetros de entrada.
🛡️ Exceções
Tratamento melhorado de exceções com mensagens específicas e rastreamento de erros.
📚 Documentação
Comentários XML profissionais em todas as classes e métodos com exemplos detalhados.
💎 Qualidade
Proteção contra null, validação de limites e conversão segura de tipos.
Exemplos de Uso
Result Pattern
var result = new Result<Usuario>();
if (id <= 0)
return result.Failed("ID inválido");
var usuario = _repository.Obter(id);
if (usuario == null)
return result.NotFound("Usuário não encontrado");
return result.Successful(usuario);
Envio de Email
var message = new EmailMessage
{
From = new EmailAddress("Sistema", "noreply@exemplo.com"),
To = new[] { new EmailAddress("Usuário", "usuario@exemplo.com") },
Subject = "Bem-vindo!",
HtmlBody = "<h1>Bem-vindo!</h1>"
};
await _emailSender.SendAsync(message);
Exceções Customizadas
throw new DomainException("CPF_INVALIDO", "CPF inválido")
.WithCorrelation(correlationId)
.WithMeta("Cpf", cpf);