2016-06-07 8 views
0

Мы используем MsDeploy с поставщиком манифеста и declareParamFile и setParamFiles. Мы хотели бы заменить строку ниже в упакованном файле 'runDeploy.cmd': 'SET SrvrName=Dev-ServerName' (без кавычек). SO файл DeclareParam.xml имеет запись пар, как показано нижеMsDeploy Поставщик текстовых файлов

<parameter name="DbServer" defaultValue="Prod-Server" > 
    <parameterEntry kind="textFile" scope="runDeploy\.cmd$" match="Dev-ServerName" /> 
</parameter> 

Однако ошибка, что мы получаем записи параметра 'DbServer/2' не может быть применена к «C: \ Src \ зд \ runDeploy. CMD. Развертывание будет продолжено с исходными данными. Подробности: Не найдено совпадений для строки поиска 'Dev-ServerName' (type 'TextFile'). " Не знаете, в чем проблема с открытым текстом здесь. Я также пробовал различные регулярные выражения, но не работал. ? намекает, что это неправильно

Благодаря Yatin

+0

Является ли файл runDeploy.cmd частью вашего источника или сгенерированного файла? Если сгенерировано, когда оно сгенерировано? – chief7

+0

Файл rundeploy.cmd является частью contentprovider. Его часть пакета и развертывается в пункте назначения. Только для тестирования я попытался изменить соответствие на ServerName (вместо Dev-ServerName), строка была заменена. Это дефис, который вызывает проблему. Я не вижу необходимости избегать его с помощью '\' для соответствия регулярных выражений. Но даже если бы я сделал (что бы сделать это Dev \ -ServerName), это не сработало. – Yshah00

+0

Версия MsDeploy - 7.1.1955.0. – Yshah00

ответ

0

дефис в Regex выражения матча может вызывать проблему Попробуйте следующий матч Regex вместо:.

Dev.ServerName 

период любой символ и должен сопоставьте дефис.