Desenvolvimento

18 abr, 2019

Visual Studio 2019 + Solution Filters: maior performance no carregamento de projetos

Publicidade

No ambiente corporativo é extremamente comum a existência de Solutions criadas por meio do Visual Studio que contenham dezenas, ou até mesmo centenas de projetos.

O trabalho com essas soluções envolverá, na maioria das vezes, implementações e ajustes apenas em projetos específicos, sendo ainda frequente que isso aconteça com base na divisão de profissionais em times focados em conjuntos de funcionalidades bem determinados.

Então como podemos abrir somente parte dos projetos que compõem uma solução, obtendo assim uma maior performance durante o carregamento desses artefatos no Visual Studio e trazendo apenas o que um Desenvolvedor precisa naquele momento?

O Visual Studio 2019 conta agora com os Solution Filters, recurso que permite selecionar/filtrar apenas um conjunto de projetos para abertura e trabalho a partir da IDE.

Para criar um Solution Filter, será necessário abrir no Visual Studio a solução que servirá de base para a criação desse tipo de filtro:

Supondo que para este exemplo serão utilizados para fins de trabalho apenas os projetos ClassLibrary1¸ ClassLibrary2 e TesteVariosProjetos, teremos de efetuar o unload de ClassLibrary3 e ClassLibrary4, acessando o menu de contexto, opção Unload Project:

Na próxima imagem é possível observar o resultado no Solution Explorer após a execução desse procedimento:

Clicar agora com o botão direito do mouse sobre a Solution, selecionando em seguida a opção “Save As Solution Filter“:

Neste momento será solicitada a gravação de um arquivo com a extensão .slnf (SolutionFilterArtigo.slnf), correspondente ao Solution Filter, no qual constarão os projetos ClassLibrary1, ClassLibrary2 e TesteVariosProjetos:

Confirmada essa tarefa, o arquivo .slnf estará disponível para abertura através das mesmas funcionalidades disponíveis para Solutions convencionais (arquivos de extensão .sln):

Carregado o arquivo SolutionFilterArtigo.slnf, aparecerão somente os projetos ClassLibrary1, ClassLibrary2 e TesteVariosProjetos:

Referências