MSBuild@1 – MSBuild v1 feladat
Ezzel a feladattal az MSBuild használatával hozhat létre.
Syntax
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
inputs:
solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
#msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
#msbuildVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
#msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild.
#platform: # string. Platform.
#configuration: # string. Configuration.
#msbuildArguments: # string. MSBuild Arguments.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#logProjectEvents: false # boolean. Record Project Details. Default: false.
#createLogFile: false # boolean. Create Log File. Default: false.
#logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
inputs:
solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
#msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
#msbuildVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
#msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild.
#platform: # string. Platform.
#configuration: # string. Configuration.
#msbuildArguments: # string. MSBuild Arguments.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#logProjectEvents: false # boolean. Record Project Details. Default: false.
#createLogFile: false # boolean. Create Log File. Default: false.
#logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
inputs:
solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
#msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
#msbuildVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
#msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild.
#platform: # string. Platform.
#configuration: # string. Configuration.
#msbuildArguments: # string. MSBuild Arguments.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#logProjectEvents: false # boolean. Record Project Details. Default: false.
#createLogFile: false # boolean. Create Log File. Default: false.
Bevitelek
solution
- Projekt
string
. Kötelező. Alapértelmezett érték: **/*.sln
.
Ha több projektet szeretne létrehozni, adja meg a keresési feltételeket. Használhat egymappás helyettesítő karaktereket (*) és rekurzív helyettesítő karaktereket (**). Megkeresi például **.*proj
az összes MSBuild projektfájlt (.*proj
) az összes alkönyvtárban.
Győződjön meg arról, hogy a megadott projekteket ezzel a buildfolyamattal tölti le. Az Adattár lapon:
- Ha TFVC-t használ, győződjön meg arról, hogy a projekt az Adattár lap egyik leképezésének gyermeke.
- Ha a Gitet használja, győződjön meg arról, hogy a projekt vagy projekt a Git-adattárban található egy ön által létrehozott ágban.
Tipp
Ha megoldást készít, javasoljuk, hogy az MSBuild feladat helyett a Visual Studio buildelési feladatát használja.
msbuildLocationMethod
- Msbuild
string
. Engedélyezett értékek: version
, location
(Hely megadása). Alapértelmezett érték: version
.
msbuildVersion
- MSBuild verzió
string
. Választható. Használja a következőt: msbuildLocationMethod = version
. Engedélyezett értékek: latest
, 17.0
(MSBuild 17.0), 16.0
(MSBuild 16.0), 15.0
(MSBuild 15.0), 14.0
(MSBuild 14.0), 12.0
(MSBuild 12.0), 4.0
(MSBuild 4.0). Alapértelmezett érték: latest
.
Ha az előnyben részesített verzió nem található, a rendszer a legújabb verziót használja. MacOS-ügynök esetén a (Mono) akkor használatos, xbuild
ha a verzió alacsonyabb, mint 15.0
.
msbuildVersion
- MSBuild verzió
string
. Választható. Használja a következőt: msbuildLocationMethod = version
. Engedélyezett értékek: latest
, 16.0
(MSBuild 16.0), 15.0
(MSBuild 15.0), 14.0
(MSBuild 14.0), 12.0
(MSBuild 12.0), 4.0
(MSBuild 4.0). Alapértelmezett érték: latest
.
Ha az előnyben részesített verzió nem található, a rendszer a legújabb verziót használja. MacOS-ügynök esetén a (Mono) akkor használatos, xbuild
ha a verzió alacsonyabb, mint 15.0
.
msbuildArchitecture
- MSBuild architektúra
string
. Választható. Használja a következőt: msbuildLocationMethod = version
. Engedélyezett értékek: x86
(MSBuild x86), x64
(MSBuild x64). Alapértelmezett érték: x86
.
Az MSBuild architektúrát (x86, x64) biztosítja a futtatáshoz.
msbuildLocation
- Az MSBuild elérési útja
string
. Választható. Használja a következőt: msbuildLocationMethod = location
.
Megadja az MSBuild elérési útját.
platform
- Platform
string
.
Tipp
- Ha megoldás helyett MSBuild projektfájlt (.*proj) céloz meg, adja meg
AnyCPU
a (nincs térköz) értéket. - Deklaráljon egy buildváltozót, például
BuildPlatform
a Változók lapon (a Várakozási idő beállításnál kiválasztvaAllow
), és hivatkozzon rá itt a következőként:$(BuildPlatform)
. Így módosíthatja a platformot, amikor várólistára állítja a buildet, és lehetővé teszi több konfiguráció összeállítását.
configuration
- Konfigurációs
string
.
Tipp
Deklaráljon egy buildváltozót, például BuildConfiguration
a Változók lapon (a Várakozási idő beállításnál kiválasztva Allow
), és hivatkozzon rá itt a következőként: $(BuildConfiguration)
. Így módosíthatja a platformot, amikor várólistára állítja a buildet, és lehetővé teszi több konfiguráció összeállítását.
msbuildArguments
- MSBuild argumentumok
string
.
Az MSBuild (Windows rendszeren) és az xbuild (macOS rendszeren) számára átadott további argumentumokat adja meg.
clean
- Tiszta
boolean
. Alapértelmezett érték: false
.
Állítsa értékre False
, ha növekményes buildet szeretne készíteni. Ez a beállítás csökkentheti a buildelési időt, különösen akkor, ha a kódbázis nagy méretű. Ez a beállítás csak akkor érvényes, ha az adattárat is a Clean
értékre False
állítja.
Állítsa a értéket True
, ha újra szeretné építeni a kódprojektek összes kódját. Ez az MSBuild /target:clean
argumentumnak felel meg.
További információ: Adattár beállításai
maximumCpuCount
- Párhuzamos buildelés
boolean
. Alapértelmezett érték: false
.
Ha az MSBuild célkonfigurációja kompatibilis a párhuzamos építéssel, ellenőrizheti ezt a bemenetet, hogy átadja a kapcsolót az /m
MSBuildnek (csak Windows esetén). Ha a célkonfiguráció nem kompatibilis a párhuzamos építéssel, ennek a beállításnak a bejelölésével a build hibákhoz, vagy időszakos vagy inkonzisztens buildhibákhoz file-in-use
vezethet.
restoreNugetPackages
- NuGet-csomagok visszaállítása
boolean
. Alapértelmezett érték: false
.
Ez a beállítás elavult. A NuGet-csomagok visszaállításához adjon hozzá egy NuGet-feladatot a buildelés előtt.
logProjectEvents
- Projekt részleteinek rögzítése
boolean
. Alapértelmezett érték: false
.
Igény szerint az egyes projektek ütemtervadatait is rögzíti (csak Windows rendszeren).
createLogFile
- Naplófájl létrehozása
boolean
. Alapértelmezett érték: false
.
Opcionálisan létrehoz egy naplófájlt (csak Windows rendszeren).
logFileVerbosity
- Naplófájl részletessége
string
. Választható. Használja a következőt: createLogFile = true
. Engedélyezett értékek: quiet
, minimal
, normal
, detailed
, diagnostic
. Alapértelmezett érték: normal
.
A naplófájl részletességét adja meg.
Feladatvezérlési lehetőségek
Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.
Kimeneti változók
Nincsenek.
Megjegyzések
Használnom kell a Visual Studio Build vagy az MSBuild feladatot?
Ha megoldást hoz létre, a legtöbb esetben a Visual Studio buildelési feladatát kell használnia. Ez a feladat automatikusan:
- Beállítja a
/p:VisualStudioVersion
tulajdonságot. Ez arra kényszeríti az MSBuildet, hogy olyan célokat használjon, amelyek növelik a sikeres buildelés valószínűségét. - Az MSBuild verzió argumentumot adja meg.
Bizonyos esetekben szükség lehet a MSBuild
feladat használatára. Például akkor érdemes használnia, ha a megoldáson kívül kódprojekteket hoz létre.
Hol tudhatok meg többet az MSBuild szolgáltatásról?
MSBuild parancssori referencia
Hogyan több platformhoz több konfigurációt is összeállít?
A Változók lapon győződjön meg arról, hogy a konfigurációkhoz és platformokhoz vannak definiálva változók. Több érték megadásához vesszővel kell elválasztani őket. Például:
- A .NET-alkalmazások esetében megadható
BuildConfiguration
hibakeresési és kiadási értékekkel, és bármilyen CPU-értékkel megadhatóBuildPlatform
. - C++ alkalmazás esetén megadható
BuildConfiguration
hibakeresési és kiadási értékekkel, és bármilyen x86- és x64-értékkel megadhatjaBuildPlatform
.
- A .NET-alkalmazások esetében megadható
A Beállítások lapon válassza ki
MultiConfiguration
és adja meg aMultipliers
, vesszővel elválasztva. Például:BuildConfiguration, BuildPlatform
Válassza kiParallel
, hogy a feladatokat (az értékek kombinációinak egy-egyét) több ügynökre szeretné-e párhuzamosan terjeszteni, ha elérhetők.A Build lapon válassza ki ezt a lépést, és adja meg a és
Configuration
azPlatform
argumentumokat. Például:- Platform:
$(BuildPlatform)
- Konfigurációs:
$(BuildConfiguration)
- Platform:
Létrehozhatok TFSBuild.proj fájlokat?
Nem hozhat létre TFSBuild.proj
fájlokat. Az ilyen típusú fájlokat a és TFS 2008
a hozza TFS 2005
létre. Ezek a fájlok feladatokat tartalmaznak, és a célok csak XAML-buildekkel támogatottak.
Hibaelhárítás
Ez a szakasz hibaelhárítási tippeket nyújt azokhoz a gyakori problémákhoz, amelyekkel a felhasználó a feladat használatakor MSBuild
találkozhat.
A buildelés a következő hibával meghiúsult: Belső hiba történt az MSBuild futtatása közben
Lehetséges okok
- Változás az MSBuild verzióban.
- Külső bővítményekkel kapcsolatos problémák.
- A Visual Studio új frissítései, amelyek hiányzó szerelvényeket okozhatnak a buildügynökön.
- Áthelyezett vagy törölt néhány szükséges NuGet-csomagot.
Hibaelhárítási javaslatok
- Futtassa a folyamatot diagnosztikával a részletes naplók lekéréséhez
- Próbálja meg helyileg reprodukálni a hibát
- Mit tehetek még?
Futtassa a folyamatot diagnosztikával a részletes naplók lekéréséhez
A probléma diagnosztizálására az egyik lehetséges lehetőség a létrehozott naplók megvizsgálása. A folyamatnaplók megtekintéséhez válassza ki a megfelelő feladatot és feladatot a folyamatfuttatás összegzésében.
A folyamatvégrehajtás naplóinak lekérése Naplók lekérése a problémák diagnosztizálásához
A hibaelhárításhoz testre szabott részletes naplót is beállíthat és letölthet:
A folyamatdiagnosztikai naplók mellett ezeket a naplótípusokat is ellenőrizheti, amelyek további információkat tartalmaznak a hibakereséshez és a probléma megoldásához:
- Feldolgozó diagnosztikai naplói
- Ügynök diagnosztikai naplói
- Egyéb naplók (Környezet és képességek)
Próbálja meg helyileg reprodukálni a hibát
Ha üzemeltetett buildügynököt használ, érdemes lehet helyileg reprodukálni a hibát. Ez segít leszűkíteni, hogy a hiba a buildügynök vagy a buildelési feladat eredménye-e.
Futtassa ugyanazt MSBuild
a parancsot a helyi gépen ugyanazokkal az argumentumokkal. Tekintse meg az MSBuild parancsot referenciaként.
Tipp
Ha reprodukálni tudja a problémát a helyi gépen, a következő lépés az MSBuild hiba kivizsgálása.
További információ a Microsoft által üzemeltetett ügynökökről.
Saját saját üzemeltetésű ügynök beállítása és a buildelési feladatok futtatása:
- Saját üzemeltetésű Windows-ügynökök
- Saját üzemeltetésű Linux-ügynökök
- Saját üzemeltetésű macOS-ügynökök
Mit tehetek még?
Az MSBuild hibáinak egy részét a Visual Studio változása okozza, így a Visual Studio fejlesztői közösségében kereshet, és ellenőrizheti, hogy jelent-e ez a probléma. Örömmel fogadjuk kérdéseit, javaslatait és visszajelzéseit is.
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build |
Futtatás | Ügynök, DeploymentGroup |
Igények | A saját üzemeltetésű ügynököknek olyan képességekkel kell rendelkezniük , amelyek megfelelnek az alábbi követelményeknek a feladatot használó feladatok futtatásához: msbuild |
Képességek | Ez a feladat nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
Parancskorlátozások | Bármelyik |
Változók beállítása | Bármelyik |
Ügynök verziója | 1.95.0 vagy újabb |
Feladatkategória | Build |