A melhor maneira de desacoplar a configuração de inicialização do projeto Web no ASP.NET 5 e MVC 6
Usando o MVC5, foi muito fácil criar um projeto de bootstrapper que tivesse referências a todas as camadas, dissociando a camada da interface do usuário de referências para, digamos, lógica de infraestrutura. O projeto conteria lógica de configuração de inicialização, como a configuração do contêiner de IoC.
A maneira de fazer isso era definir uma classe de inicialização:
public class Startup
{
public static void Start()
{
// startup configuration (IoC etc) goes here
}
}
E depois adicione uma linhaAssemblyInfo.cs
:
[assembly: PreApplicationStartMethod(typeof(Startup), "Start")]
Infelizmente, essa abordagem não funciona mais com o asp.net 5. Eu dei uma rápida olhada na documentação, mas tudo o que descobri foi que a estrutura procura uma classe chamada Startup no projeto da Web.
Eu também dei uma olhada dentro doMicrosoft.AspNet.Hosting
Código fonte que parece ser responsável por encontrar a classe Startup. Posso ver algumas referências à classe de configuração, portanto, há uma chance de o assembly ser carregado usando algum tipo de configuração, mas não pude confirmar isso ou determinar qual configuração.
Além disso, se isso for verdade, como a classe Startup pode ser determinada usando o métodoconfig.json
quando o próprio arquivo estiver sendo carregado na classe Startup? Existem opções diferentes para configurar o conjunto de inicialização, como por exemplo, usando uma variável de ambiente?