Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os arquivos de filtro de solução são arquivos JSON com a extensão .slnf que indicam quais projetos construir 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 da 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 a partir 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 criada com a filtragem habilitada, da seguinte maneira:
msbuild [options] solutionFilterFile.slnf
Você também pode acrescentar opções e propriedades extras normalmente. Consulte a referência da linha de comando do MSBuild . Este comando cria os projetos filtrados e quaisquer projetos dos quais eles dependam. Ao criar um filtro de solução a partir da linha de comando, o MSBuild segue automaticamente as dependências. Ele cria um projeto se ele for especificado no filtro ou referenciado por um projeto que é construído.
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 construção. Você também pode carregar todos os projetos dos quais o projeto ou projetos iniciais dependem para ser construído, mas isso não é necessário. Consulte Soluções filtradas.
O filtro da 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 barras traseiras nos caminhos devem ser dobradas, uma vez que escapam.
Observação
No caso em que você estiver usando o formato de arquivo de solução .slnx, suportado 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 por Projeta e ProjectB e, portanto, ClassLibrary1 é listado como uma referência de projeto.
Aqui está o arquivo de filtro de solução que o Visual Studio gera:
{
"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 MyApplication e Projeta porque eles estão explicitamente listados no arquivo de filtro da solução. Como parte da criação do Projeta, o MSBuild cria o ClassLibrary1 porque o Projeta depende dele. O ProjectB não foi construído. (Esta discussão pressupõe uma construção limpa. Se os projetos foram criados anteriormente, as regras usuais se aplicam para ignorar projetos que já estão up-todata.)
Ver também
- Soluções filtradas
- de referência de linha de comando MSBuild