VS2015 pubxml: как исключить или исключить раздел <PublishDatabaseSettings>
Мне нужно исключить параметры, связанные с базой данных, из публикации Web Deploy. Я попытался удалить раздел в файле pubxml, но он возвращается, когда я создаю пакет развертывания.
Есть ли способ исключить настройки, связанные с базой данных, из публикации Web Deploy?
1 ответ
Выяснили способ:
- Вывести конфиг с помощью
configsource
Измени свой web.config
включить строки подключения как внешний файл.
<connectionStrings configSource="web.connectionstrings.config"/>
Затем добавьте новый файл web.connectionstrings.config
и он должен быть именно в этом формате (я имею в виду узлы более высокого уровня не нужны):
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=localhost; Initial Catalog=DEFAULT; Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
Глупый инструмент публикации не достаточно умен, чтобы заглянуть сюда.
Избегайте редактирования настроек, связанных с базой данных, в файле.pubxml, поскольку Visual Studio изменяет их автоматически при обнаружении изменений в проекте.
Теперь, если у вас есть какие-то строки соединений, которые вы действительно хотите развернуть, а некоторые нет, тогда это уже другая история, и вам нужно будет найти какой-то другой способ их объединения.
Я мог бы добавить, что если вы столкнулись с этой проблемой, то, во-первых, вы ошиблись в развертывании, но это было для меня решением, потому что я действительно хотел, чтобы жестко закодированные значения были развернуты.
Хотя этот вопрос не решается напрямую - спасибо @scotthanselman, который вдохновил этот ответ, взяв секретные строки подключения в этой статье.
Красивая!
Кроме того, снимите этот флажок. Я не знаю как вы, но мысль о публикации файла pubxml в моей базе данных пугает меня!