Как игнорировать параметр строки подключения в SetParameter.xml

Я использую msDeploy (3.0) для развертывания моего приложения MVC. У меня есть конвейер сборки, который генерирует артефакты сборки для msdeploy, и мой конвейер развертывания применяет соответствующие преобразования web.config к Web.config перед его развертыванием в производственных экземплярах. Одно из преобразований включает изменения в строке подключения. Однако, глядя на развернутые экземпляры, кажется, что мои преобразования web.config переопределяются параметрами в setParameters.xml в моих артефактах сборки.

Идеальным поведением было бы избегать добавления какой-либо строки подключения в SetParameter.xml, чтобы все мои переопределения строки подключения контролировались только моим конвейером развертывания. Как мне этого добиться?

Ниже приведен пример файла SetParameters.xml.

    <parameters>
       <setParameter name="IIS Web Application Name" value="Default/Foo"/>
       <setParameter name="Foo-Web.config Connection String" value="Server=Foo,1433;Database=Bar;Integrated Security=SSPI;MultiSubnetFailover=True;App=Something;Connection Timeout=25"/>
   </parameters>

В идеале это выглядело бы примерно так

    <parameters>
       <setParameter name="IIS Web Application Name" value="Default/Foo"/>
   </parameters>

Я уже пытался передать файл parameters.xml на шаг msbuild, который не содержит параметр строки подключения, но это не сработало.


person KnightFox    schedule 25.05.2016    source источник


Ответы (1)


После нескольких часов биения головой о стену я наконец нашел решение. MsBuild принимает параметр p:AutoParameterizationWebConfigionStrings=false, который предотвращает параметризацию строк подключения. К сожалению, документации по этому параметру мало или совсем нет.

Вы также можете установить это для каждого проекта, добавив

      <AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings>

в PropertyGroup вашей конфигурации сборки.

person KnightFox    schedule 26.05.2016
comment
У меня такая же проблема. После моего преобразования этот SetParamters вернет мою строку подключения к тому, что было в начале. Вы хоть представляете, откуда берутся значения? Мой файл parameters.xml не содержит настроек строки подключения. - person Jepzen; 21.01.2019