VSBuild@1 - Visual Studio derleme v1 görevi

MSBuild ile derlemek ve Visual Studio sürüm özelliğini ayarlamak için bu görevi kullanın. Azure Visual Studio görüntülerini yükleme hakkında daha fazla bilgi edinin.

Tavsiye

Bu görevden önce işlem hattınızda NuGetAuthenticate@1 kullanın. Daha fazla bilgi için bkz: Derleme işlem hattım neden başarısız oluyor ve Tek Sign-On (SSO) kimlik doğrulaması istiyor?.

Sözdizimi

# Visual Studio build v1
# Build with MSBuild and set the Visual Studio version property.
- task: VSBuild@1
  inputs:
    solution: '**\*.sln' # string. Required. Solution. Default: **\*.sln.
    #vsVersion: 'latest' # 'latest' | '18.0' | '17.0' | '16.0' | '15.0' | '14.0' | '12.0' | '11.0'. Visual Studio Version. Default: latest.
    #msbuildArgs: # string. MSBuild Arguments. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64' | 'arm64'. MSBuild Architecture. Default: x86.
    #logProjectEvents: true # boolean. Record Project Details. Default: true.
    #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.
    #enableDefaultLogger: true # boolean. Enable Default Logger. Default: true.
    #customVersion: # string. Custom Version.
# Visual Studio build v1
# Build with MSBuild and set the Visual Studio version property.
- task: VSBuild@1
  inputs:
    solution: '**\*.sln' # string. Required. Solution. Default: **\*.sln.
    #vsVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | '12.0' | '11.0'. Visual Studio Version. Default: latest.
    #msbuildArgs: # string. MSBuild Arguments. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64'. MSBuild Architecture. Default: x86.
    #logProjectEvents: true # boolean. Record Project Details. Default: true.
    #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.
    #enableDefaultLogger: true # boolean. Enable Default Logger. Default: true.
    #customVersion: # string. Custom Version.

Girişler

solution - Çözüm
string. Gerekli. Varsayılan değer: **\*.sln.

Derleme işleminde kullanılacak görevin çözümünü belirtir.

Tek bir çözüm oluşturmak istiyorsanız ... düğmesine tıklayın ve çözümü belirtin.

Birden çok çözüm oluşturmak istiyorsanız arama ölçütlerini belirtin. Tek klasörlü joker karakter (*) ve özyinelemeli joker karakterler (**) kullanabilirsiniz. Örneğin, **.sln tüm alt dizinlerdeki tüm .sln dosyaları arar.

Belirttiğiniz çözümlerin bu derleme işlem hattı tarafından indirildiğinden emin olun. Depo sekmesinde:

  • TFVC kullanıyorsanız, çözümün Depo sekmesindeki eşlemelerden birinin alt öğesi olduğundan emin olun.
  • Git kullanıyorsanız, projenin veya çözümün Git deponuzda ve oluşturmakta olduğunuz bir dalda olduğundan emin olun.

Tavsiye

  • MSBuild proje (.*proj) dosyaları da oluşturabilirsiniz.
  • Özelleştirilmiş bir MSBuild proje dosyası oluşturuyorsanız, Visual Studio Derleme görevi yerine MSBuild görevini kullanmanızı öneririz.

MSBuild ve Visual Studio derlemesi arasındaki farklar hakkında daha fazla bilgi için bkz : Visual Studio derlemeleri ile MSBuild.exe derlemeleri.


Visual Studio SürümvsVersion -
string. İzin verilen değerler: latest, 18.0 (Visual Studio 2026), 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), 12.0 (Visual Studio 2013), 11.0 (Visual Studio 2012). Varsayılan değer: latest.

Bu girişin değeri, çözümünüzü oluşturmak için kullanılan Visual Studio sürümüyle eşleşmelidir.

derleme tarafından çalıştırılan MSBuild komutuna /p:VisualStudioVersion={numeric_visual_studio_version} bağımsız değişkenini ekler. Örneğin, Visual Studio 2015belirtirseniz, MSBuild komutuna /p:VisualStudioVersion=14.0 eklenir.

Azure Pipelines : Ekibiniz Visual Studio'yu Microsoft tarafından barındırılan aracılarla kullanmak istiyorsa, varsayılan derleme havuzunuz olarak windows-latest seçin. Bkz. microsoft tarafından barındırılan aracıları .


Visual Studio SürümvsVersion -
string. İzin verilen değerler: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), 12.0 (Visual Studio 2013), 11.0 (Visual Studio 2012). Varsayılan değer: latest.

Bu girişin değeri, çözümünüzü oluşturmak için kullanılan Visual Studio sürümüyle eşleşmelidir.

derleme tarafından çalıştırılan MSBuild komutuna /p:VisualStudioVersion={numeric_visual_studio_version} bağımsız değişkenini ekler. Örneğin, Visual Studio 2015belirtirseniz, MSBuild komutuna /p:VisualStudioVersion=14.0 eklenir.

Azure Pipelines : Ekibiniz Visual Studio'yu Microsoft tarafından barındırılan aracılarla kullanmak istiyorsa, varsayılan derleme havuzunuz olarak windows-latest seçin. Bkz. microsoft tarafından barındırılan aracıları .


MSBuild Bağımsız DeğişkenlerimsbuildArgs -
string.

MSBuild'e ek bağımsız değişkenler geçirir. Söz dizimi için bkz. msbuild Command-Line başvuru .


platform - Peron
string.

Win32, x86, x64veya any cpugibi oluşturmak istediğiniz platformu belirtir.

Tavsiye

  • Çözüm yerine bir MSBuild projesi (.*proj) dosyasını hedef alıyorsanız AnyCPU (boşluk yok) belirtin.
  • Değişkenler sekmesinde (Kuyruk Zamanında İzin Ver'i seçerek) BuildPlatform gibi bir derleme değişkeni bildirin ve buraya $(BuildPlatform)olarak başvurun. Bu şekilde, derlemeyi kuyruğa alıp birden çok yapılandırma oluşturmayı etkinleştirdiğinizde platformu değiştirebilirsiniz.

configuration - Yapılandırma
string.

debug veya releasegibi oluşturmak istediğiniz yapılandırmayı belirtir.

Tavsiye

Değişkenler sekmesinde (Kuyruk Zamanında İzin Ver'i seçerek) BuildConfiguration gibi bir derleme değişkeni bildirin ve buraya $(BuildConfiguration)olarak başvurun. Bu şekilde, derlemeyi kuyruğa alıp birden çok yapılandırma oluşturmayı etkinleştirdiğinizde platformu değiştirebilirsiniz.


clean - Temizleme
boolean. Varsayılan değer: false.

falseolarak ayarlanırsa, görev artımlı bir derleme yapar. Bu ayar, özellikle kod tabanınız büyükse derleme sürenizi azaltabilir. Bu seçeneğin, Depoyu temizle seçeneğini de falseolarak ayarlamadığınız sürece pratik bir etkisi yoktur.

trueolarak ayarlanırsa, görev kod projelerindeki tüm kodu yeniden oluşturur. Bu, MSBuild /target:clean bağımsız değişkenine eşdeğerdir.


ParalelmaximumCpuCount - Derlemesi
boolean. Varsayılan değer: false.

Opsiyonel. MSBuild hedef yapılandırmanız paralel olarak derlemeyle uyumluysa, /m anahtarını MSBuild'e geçirmek için bu girişi de denetleyebilirsiniz (yalnızca Windows). Hedef yapılandırmanız paralel derlemeyle uyumlu değilse, bu seçeneğin denetlenmesi derlemenizin dosya kullanımda hatalarına veya aralıklı veya tutarsız derleme hatalarına yol açmasına neden olabilir.


NuGet Paketlerini geri restoreNugetPackages -
boolean. Varsayılan değer: false.

Bu giriş kullanım dışı bırakıldı. NuGet paketlerini geri yüklemek için derlemeden önce bir NuGet Araç Yükleyicisi görevi ekleyin.


MSBuild MimarisimsbuildArchitecture -
string. İzin verilen değerler: x86 (MSBuild x86), x64 (MSBuild x64), arm64 (MSBuild arm64). Varsayılan değer: x86.

Opsiyonel. Çalıştırılacak MSBuild mimarisini (x86 veya x64) sağlar.

Tavsiye

Visual Studio 32 bit uygulama olarak çalıştığından, derlemeniz Team Foundation Derleme Hizmeti'nin 64 bit sürümünü çalıştıran bir derleme aracısı tarafından işlendiğinde sorunlarla karşılaşabilirsiniz. MSBuild x86'i seçerek bu sorunları çözebilirsiniz.


MSBuild MimarisimsbuildArchitecture -
string. İzin verilen değerler: x86 (MSBuild x86), x64 (MSBuild x64). Varsayılan değer: x86.

Opsiyonel. Çalıştırılacak MSBuild mimarisini (x86 veya x64) sağlar.

Tavsiye

Visual Studio 32 bit uygulama olarak çalıştığından, derlemeniz Team Foundation Derleme Hizmeti'nin 64 bit sürümünü çalıştıran bir derleme aracısı tarafından işlendiğinde sorunlarla karşılaşabilirsiniz. MSBuild x86'i seçerek bu sorunları çözebilirsiniz.


logProjectEvents - Proje Ayrıntılarını Kaydet
boolean. Varsayılan değer: true.

Opsiyonel. Her proje için zaman çizelgesi ayrıntılarını kaydeder.


createLogFile - Günlük Dosyası Oluşturma
boolean. Varsayılan değer: false.

Opsiyonel. Bir günlük dosyası oluşturur (yalnızca Windows).


günlük dosyası ayrıntılogFileVerbosity -
string. Opsiyonel. createLogFile = trueolduğunda kullanın. İzin verilen değerler: quiet, minimal, normal, detailed, diagnostic. Varsayılan değer: normal.

Günlük dosyalarındaki ayrıntı düzeyini belirtir.


enableDefaultLogger - Varsayılan Günlükçü Etkinleştirme
boolean. Varsayılan değer: true.

trueolarak ayarlanırsa, MSBuild için varsayılan günlükçü'leri etkinleştirir.


customVersion - Özel Sürüm
string.

Visual Studio'nun özel bir sürümünü ayarlar. Örnekler: 15.0, 16.0, 17.0. Gerekli Visual Studio sürümü sistemde yüklü olmalıdır.

Azure Pipelines : Ekibiniz Visual Studio 2022'yi Microsoft tarafından barındırılan aracılarla kullanmak istiyorsa, varsayılan derleme havuzunuz olarak windows-2022 seçin. Daha fazla bilgi için bkz. Microsoft tarafından barındırılan aracıları.


Görev denetimi seçenekleri

Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

Derleme işlem hattım neden başarısız oluyor ve Tek Sign-On (SSO) kimlik doğrulaması istiyor?

Kimlik bilgilerinin süresi dolduysa derlemeler başarısız olabilir. Bu hatalardan kaçınmak için, kimlik bilgisi sağlayıcısını yeniden yüklemek ve kimlik bilgilerini otomatik olarak yenilemek için NuGet Authenticate görevini kullanmanızı öneririz. Bu, boru hattı yürütmesi sırasında kesintisiz erişim sağlar.

steps:
# Authenticate with NuGet to ensure credentials are refreshed
- task: NuGetAuthenticate@1 
# Build the solution using VSBuild
- task: VSBuild@1
  inputs:
    solution: '**/*.sln' 

Azure Visual Studio görüntülerini yükleme hakkında daha fazla bilgi edinin.

Önemli

Bu görev yalnızca Windows çalıştıran aracılarda desteklenir.

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme
Üzerinde çalışır Aracı, DeploymentGroup
Talepleri Şirket içinde barındırılan aracıların, bu görevi kullanan işleri çalıştırmak için taleplerine uyan özellikleri olmalıdır: msbuild, visualstudio
Özellikleri Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi bir
Ayarlanabilir değişkenleri Herhangi bir
Aracı sürümü 1.95.0 veya üzeri
Görev kategorisi İnşa et