2016-03-21 27 views
6

Web.config'imde bağlantı dizesini değiştirmek için küçük bir PowerShell betiği oluşturdum.TFS oluşturma işleminden PowerShell betiğine parametreler nasıl iletilir?

param([string]$webConfigPath, [string]$connectionStringName, [string]$connectionStringValue) 

# get the full path of the web config file 
$webConfigFile = [IO.Path]::Combine($webConfigPath, 'Web.config') 
# load the XML 
$webConfig = [xml](cat $webConfigFile) 

#change the appropriate config 
$webConfig.configuration.connectionStrings.add | foreach { 
    if($_.name -eq $connectionStringName){ 
     $_.connectionString = $connectionStringValue 
    } 
} 

#save the file 
$webConfig.Save($webConfigFile) 

Bunu derleme işlemime ekledim. Yapının değişkenlerini komut dosyasına nasıl iletilir?

(Ben yeni komut dosyası tabanlı derleme işlemi kullanmak, bu yüzden sadece parametre için alan bir yerleşik "Argümanlar" var) Böyle Argümanlar dosyalarına tek bir satırda tüm parametreleri koyabilirsiniz

+0

Web.config öğesinin değiştirilmesi, çıkarma işlemi sırasında değil, oluşturma işleminde gerçekleşmelidir. –

+0

Sitemi her checkinte iki test sunucusuna koymak için yapım sürecini kullanıyorum. Yapım işlemi olmadan nasıl yapılır? –

cevap

6

:

-webConfigPath "c:\web.config" -connectionStringName "My connection string" 
+0

Teşekkür ederiz! Bir sorum daha var. Oluşturma işleminin değişkenlerini nasıl geçirebilirim? BuildConfiguration ve özel özelliklerim gibi. Kaynak kodundan bir Env: BUILD_BUILDNUMBER sözdizimi ile –

+0

. Oh, aptalım. –