Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Arquivos de filtro de solução são arquivos JSON com a extensão .slnf que indicam quais projetos criar ou carregar de todos os projetos em uma solução. A partir do MSBuild 16.7, você pode invocar o MSBuild no arquivo de filtro de solução para criar a solução com a filtragem habilitada.
Observação
O arquivo de filtro de solução reduz o conjunto de projetos que são carregados ou criados e simplifica o formato. O arquivo de solução ainda é necessário.
Criar um filtro de solução a partir da linha de comando
A criação de um arquivo de filtro de solução da linha de comando usa exatamente a mesma sintaxe que a criação de um arquivo de solução. Especifique o arquivo de filtro da solução em vez da solução a ser compilada com a filtragem habilitada, da seguinte maneira:
msbuild [options] solutionFilterFile.slnf
Você também pode acrescentar opções e propriedades extras normalmente. Confira Referência de linha de comando do MSBuild. Esse comando cria os projetos filtrados e todos os projetos dos quais eles dependem. Ao criar um filtro de solução da linha de comando, o MSBuild segue automaticamente as dependências. Ele criará um projeto se ele for especificado no filtro ou referenciado por um projeto criado.
Arquivos de filtro de solução
Você pode usar o Visual Studio para trabalhar com arquivos de filtro de solução. Abrir um filtro de solução no Visual Studio exibe os projetos descarregados, bem como os projetos carregados e oferece a opção de carregar mais projetos para selecioná-los para criação. Você pode carregar todos os projetos dos quais o projeto ou os projetos iniciais dependem para criar também, mas ele não é necessário. Consulte soluções filtradas.
O filtro de solução não precisa estar na mesma pasta que a solução. O caminho para o arquivo de solução é relativo ao local do arquivo de filtro de solução, mas os caminhos para cada projeto são relativos ao próprio arquivo de solução e devem corresponder aos caminhos do projeto no arquivo de solução. O exemplo a seguir demonstra o uso de caminhos relativos:
{
"solution": {
"path": "..\\..\\Documents\\GitHub\\msbuild\\MSBuild.sln",
"projects": [
"src\\Build.OM.UnitTests\\Microsoft.Build.Engine.OM.UnitTests.csproj"
]
}
}
As chicotadas nos caminhos devem ser dobradas, já que escapam.
Observação
No caso em que você estiver usando o formato de arquivo de solução .slnx, com suporte no MSBuild 17.12 e posterior, o arquivo .slnx terá prioridade sobre o arquivo .slnf.
Exemplo
Aqui está um exemplo de uma solução filtrada no Visual Studio:
Nesta solução, ClassLibrary1 é usado pelo ProjectA e pelo ProjectB e, portanto, ClassLibrary1 é listado como uma referência de projeto.
Este é o arquivo de filtro de solução gerado pelo Visual Studio:
{
"solution": {
"path": "MyApplication.sln",
"projects": [
"MyApplication\\MyApplication.csproj",
"ProjectA\\ProjectA.csproj"
]
}
}
Neste exemplo, quando você cria com a filtragem habilitada (usando o comando MSBuild [options] MyFilter.slnf), o MSBuild cria o MyApplication e o ProjectA porque eles estão explicitamente listados no arquivo de filtro de solução. Como parte da criação do ProjectA, o MSBuild cria o ClassLibrary1 porque o ProjectA depende dele. O ProjectB não foi criado. (Esta discussão pressupõe uma compilação limpa. Se os projetos foram criados anteriormente, as regras usuais se aplicam a ignorar projetos que já estão up-to-date.)
Consulte também
- soluções filtradas
- referência da linha de comando MSBuild