Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Soubory filtru řešení jsou soubory JSON s příponou .slnf označující, které projekty se mají sestavit nebo načíst ze všech projektů v řešení. Počínaje verzí MSBuild 16.7 můžete vyvolat MSBuild v souboru filtru řešení a sestavit řešení s povoleným filtrováním.
Poznámka:
Soubor filtru řešení snižuje sadu projektů, které jsou načteny nebo sestaveny, a zjednodušuje formát. Soubor řešení je stále povinný.
Vytvoření filtru řešení z příkazového řádku
Vytvoření souboru filtru řešení z příkazového řádku používá přesně stejnou syntaxi jako sestavení souboru řešení. Místo řešení, které se má sestavit s povoleným filtrováním, zadejte soubor filtru řešení:
msbuild [options] solutionFilterFile.slnf
Můžete také připojit přepínače a další vlastnosti jako normální. Viz referenci příkazového řádku MSBuild. Tento příkaz sestaví filtrované projekty a všechny projekty, na kterých závisí. Při vytváření filtru řešení z příkazového řádku nástroj MSBuild automaticky sleduje závislosti. Vytvoří projekt, pokud je zadaný ve filtru nebo odkazovaný projektem, který je sestaven.
Soubory filtru řešení
Visual Studio můžete použít k práci se soubory filtru řešení. Otevření filtru řešení v sadě Visual Studio zobrazí uvolněné projekty i načtené projekty a nabídne vám možnost načíst další projekty a vybrat je pro sestavení. Můžete načíst také všechny projekty, na kterých závisí počáteční projekt nebo projekty, ale nevyžaduje se. Viz Filtrovaná řešení.
Filtr řešení nemusí být ve stejné složce jako řešení. Cesta k souboru řešení je relativní vzhledem k umístění souboru filtru řešení, ale cesty k jednotlivým projektům jsou relativní vzhledem k samotnému souboru řešení a měly by odpovídat cestám k projektu v souboru řešení. Následující příklad ukazuje použití relativních cest:
{
"solution": {
"path": "..\\..\\Documents\\GitHub\\msbuild\\MSBuild.sln",
"projects": [
"src\\Build.OM.UnitTests\\Microsoft.Build.Engine.OM.UnitTests.csproj"
]
}
}
Zpětná lomítka v cestách se musí zdvojnásobit, protože jsou uvozené.
Poznámka:
V případě, že používáte formát .slnx řešení podporovaný ve verzi MSBuild 17.12 a novější, má soubor .slnx přednost před souborem .slnf.
Příklad
Tady je příklad filtrovaného řešení v sadě Visual Studio:
V tomto řešení používá TřídaLibrary1 jak ProjectA, tak ProjectB, takže ClassLibrary1 je uveden jako odkaz na projekt.
Tady je soubor filtru řešení, který Sada Visual Studio vygeneruje:
{
"solution": {
"path": "MyApplication.sln",
"projects": [
"MyApplication\\MyApplication.csproj",
"ProjectA\\ProjectA.csproj"
]
}
}
Když v tomto příkladu sestavíte s povoleným filtrováním (pomocí příkazu MSBuild [options] MyFilter.slnf), nástroj MSBuild sestaví MyApplication a ProjectA, protože jsou explicitně uvedeny v souboru filtru řešení. V rámci sestavování ProjectA vytváří NÁSTROJ MSBuild tříduLibrary1, protože projectA na něm závisí. ProjectB není sestavený. (V této diskuzi se předpokládá čisté sestavení. Pokud byly projekty sestaveny dříve, platí obvyklá pravidla pro přeskočení projektů, které jsou již up-to-date.)