Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A megoldásszűrő fájlok olyan JSON-fájlok .slnf kiterjesztéssel, amelyek jelzik, hogy mely projekteket kell létrehozni vagy betölteni a megoldás összes projektjéből. Az MSBuild 16.7-től kezdve meghívhatja az MSBuild parancsot a megoldásszűrő fájlban, hogy a megoldást a szűrés engedélyezve legyen.
Megjegyzés
A megoldásszűrő fájl csökkenti a betöltött vagy létrehozott projektek készletét, és leegyszerűsíti a formátumot. A megoldásfájlra továbbra is szükség van.
Megoldásszűrő létrehozása a parancssorból
A megoldásszűrő fájl parancssorból való létrehozása pontosan ugyanazt a szintaxist használja, mint egy megoldásfájl létrehozása. A következő módon adja meg a megoldásszűrő fájlt ahelyett, hogy engedélyezve van a szűréssel létrehozni kívánt megoldás:
msbuild [options] solutionFilterFile.slnf
A kapcsolókat és a további tulajdonságokat a szokásos módon is hozzáfűzheti. Lásd: MSBuild parancssori referencia. Ez a parancs létrehozza a szűrt projekteket és az általuk függő projekteket. Ha a parancssorból hoz létre megoldásszűrőt, az MSBuild automatikusan követi a függőségeket. Egy projektet akkor hoz létre, ha a szűrőben van megadva, vagy egy létrehozott projekt hivatkozik rá.
Megoldásszűrő fájlok
A Visual Studióval megoldásszűrő fájlokkal dolgozhat. A Megoldásszűrő megnyitása a Visual Studióban megjeleníti a kiürített projekteket és a betöltött projekteket, és lehetővé teszi további projektek betöltését, hogy kiválaszthassa őket az építkezéshez. Betöltheti az összes projektet, amelytől a kezdeti projekt vagy projektek függenek a buildeléshez, de nem szükséges. Lásd szűrt megoldások.
A megoldásszűrőnek nem kell ugyanabban a mappában lennie, mint a megoldásnak. A megoldásfájl elérési útja a megoldásszűrő fájl helyéhez képest van, de az egyes projektek elérési útjai a megoldásfájlhoz viszonyítva jelennek meg, és meg kell egyeznie a megoldásfájl projektútvonalaival. Az alábbi példa a relatív útvonalak használatát mutatja be:
{
"solution": {
"path": "..\\..\\Documents\\GitHub\\msbuild\\MSBuild.sln",
"projects": [
"src\\Build.OM.UnitTests\\Microsoft.Build.Engine.OM.UnitTests.csproj"
]
}
}
Az útvonalakban lévő fordított perjeleket meg kell duplázni, mivel megmenekültek.
Megjegyzés
Abban az esetben, ha az MSBuild 17.12-ben és újabb verzióiban támogatott .slnx megoldásfájlformátumot használja, a .slnx fájl elsőbbséget élvez a .slnf fájllal szemben.
Példa
Íme egy példa egy szűrt megoldásra a Visual Studióban:
Ebben a megoldásban a ClassLibrary1-et a ProjectA és a ProjectB is használja, így a ClassLibrary1 projekthivatkozásként szerepel a listán.
A Visual Studio által létrehozott megoldásszűrő fájl:
{
"solution": {
"path": "MyApplication.sln",
"projects": [
"MyApplication\\MyApplication.csproj",
"ProjectA\\ProjectA.csproj"
]
}
}
Ebben a példában, ha engedélyezve van a szűrés (a MSBuild [options] MyFilter.slnfparancs használatával), az MSBuild a MyApplication és a ProjectA buildet hozza létre, mert azok explicit módon szerepelnek a megoldásszűrő fájlban. A ProjectA készítésének részeként az MSBuild a ClassLibrary1-et építi, mert a ProjectA attól függ. A ProjectB nincs felépítve. (Ez a vitafórum egy tiszta buildet feltételez. Ha a projektek korábban készültek, a szokásos szabályok vonatkoznak a már up-to-date projektek kihagyására.)