Я написал этот скриптTeamCity не распознает конфигурацию параметры
$xml = New-Object XML
$xml.Load(".\build\DashboardUITests.dll.config")
$xml.configuration.appSettings.add |Where-Object {$_.key -eq 'Browser'}|% {$_.value = '%Config_Browser%'}
$xml.configuration.appSettings.add |Where-Object {$_.key -eq 'Environment'}|% {$_.value = '%Config_Enviroment%'}
$xml.configuration.appSettings.add |Where-Object {$_.key -eq 'baseUrl'}|% {$_.value = '%Config_URL%'}
$xml.Save(".\build\DashboardUITests.dll.config")
И создал эти три параметра сборки в сборках конфигурации я использую.
Config_Browser = googlechrome
Config_Enviroment = MyEnviroment
Config_URL = BigUrl
На данный момент скрипт покажет что-то подобное в dll.config
<add key="browser" value="%Config_Browser%" />
Согласно документации TC параметры Config не требуется никакого префикса
«Параметры конфигурации (без префикса) не передаются в сборку и предназначены только для совместного использования настроек в конфигурации сборки. Они являются основным средством настройки конфигурации сборки, которая основана на шаблоне или использует мета-бегун ».
По какой-то причине мой сценарий распознает только эти параметры, когда префикс их с другим «%», например
$xml.configuration.appSettings.add |Where-Object {$_.key -eq 'Browser'}|% {$_.value = '%%Config_Browser%'}
показать бы что-то подобное в dll.config
<add key="browser" value="%%googlechrome%" />
Почему мой скрипт не распознает мои созданные параметры?
Молодцы. Ваше решение отлично работало – Pudding