2016-03-21 3 views
6

Я создал небольшой скрипт PowerShell для изменения строки подключения в моем web.config.Как передать параметры сценарию PowerShell из процесса сборки TFS?

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) 

Я добавил его в мой процесс сборки. Как передать переменные сборки скрипту?

(я использую новый процесс сборки на основе сценария, так что есть только встроенные «Аргументы» поле для параметра)

+0

Изменение вашего web.config должно происходить в процессе выпуска, а не в процессе сборки. –

+0

Я использую процесс сборки, чтобы разместить мой сайт на двух тестовых серверах на каждом контроле. Как это сделать без процесса сборки? –

ответ

6

Вы можете поместить все параметры в одной строке в аргументах файлы, как это:

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

Спасибо! У меня есть еще один вопрос. Как передать переменные процесса сборки? Как BuildConfiguration и мои пользовательские атрибуты. –

+0

С синтаксисом $ Env: BUILD_BUILDNUMBER из исходного кода. О, я был глуп. –

Смежные вопросы