Sil.Builder.Sdk
Define convenções MSBuild, versões e guardrails dos backends.
Como usar
Seção intitulada “Como usar”Referenciado pelo SDK dos projetos gerados; ajuste SilBuilderVersion na configuração do consumidor.
dotnet buildComandos de tests/ e src/ rodam no checkout do builder. Comandos dotnet builder rodam no backend consumidor após a instalação da ferramenta.
Host automático
Seção intitulada “Host automático”Para um projeto Web existente com referências a Sil.Builder.Sdk e Sil.Builder.Runtime, adicione ao .csproj do host:
<PropertyGroup> <SilGenerateProgram>true</SilGenerateProgram></PropertyGroup>O build gera Main e monta os registros e o pipeline: controllers, serviços do runtime, contexto público, erros, documentação e permissões. Cada módulo referenciado por Sil.Modules.<M>.ApiControllers recebe registro estático de Application e Infrastructure. Referencie também o projeto Infrastructure; Application vem transitivamente. Um módulo incompleto gera SILG005 no build.
Não é necessário ter Program.cs. O template já ativa esse modo e oferece apenas hooks opcionais nesse arquivo:
using Microsoft.AspNetCore.Builder;
namespace Sil.Builder.Generated;
public static partial class SilHost{ static partial void ConfigureBuilder(WebApplicationBuilder builder) { // Configure autenticação, ISilContextAuthorizer e ISilPermissionChecker. }
static partial void ConfigureApplication(WebApplication app) { // Registre endpoints adicionais, sujeitos à exigência de tenant autenticado. }}No arquivo do template, escreva dentro das regiões sil-business dos hooks, preservando a parte gerenciada. ConfigureBuilder roda antes dos registros padrão; ConfigureApplication, depois da montagem do pipeline. A conexão vem de ConnectionStrings:Default, inclusive pela variável ConnectionStrings__Default. A inicialização informa quando falta essa configuração. Migrations continuam no fluxo de banco do consumidor.
Ao usar new module, o builder adiciona referências e o próximo build incorpora o módulo sem editar os hooks. Autenticação e autorização continuam sendo configurações do consumidor; os padrões negam acesso até receberem os adaptadores confiáveis.
Um host manual segue funcionando sem a propriedade. Para migrar, transfira a configuração específica aos hooks e remova os top-level statements ou Main antigo; manter dois pontos de entrada gera SILG006 sem sobrescrever o arquivo. Pipelines próprios podem usar SilGenerateProgram=false e as extensões AddSilApi/UseSilApi ou as extensões individuais do runtime.
O que observar
Seção intitulada “O que observar”Permite Sil.SdkMono e Sil.Common.*; rejeita SdkUtils com SIL1006. Para incluir o SDK Mono no host e nos módulos gerados, fixe SilSdkMonoVersion e configure o feed do pacote.
README do componente ↗ · Catálogo de comandos · Todos os componentes