Я потерян. У меня есть веб-проект, который поставляется с файлом конфигурации и несколькими параметрами, которые необходимо устанавливать по-разному для каждой целевой среды. У меня есть настройка приложения и строка подключения. Значения DEFINE
необходимо заменить.
Web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="HostUri" value="DEFINE"/>
...
</appSettings>
<connectionStrings>
<add name="DbConn" connectionString="DEFINE" providerName="System.Data.SqlClient"/>
</connectionStrings>
...
</configuration>
У меня есть спецификация параметра, которую задача развертывания службы приложений Azure использует позже во время развертывания. Здесь я указал оба значения для замены.
параметры.xml:
<parameters>
<parameter name="HostUri" defaultValue="Replace me!">
<parameterEntry kind="XmlFile" scope="Web.config"
match="/configuration/appSettings/add[@key='HostUri']/@value" />
</parameter>
<parameter name="DbConn" defaultValue="Replace me!">
<parameterEntry kind="XmlFile" scope="Web.config"
match="/configuration/connectionStrings/add[@name='DbConn']/@connectionString" />
</parameter>
</parameters>
Хотя параметр приложения HostUri
заменяется правильно, строка подключения DbConn
остается нетронутой. Я даже не получаю значение по умолчанию. Он сохраняет свое значение DEFINE
, изначально установленное в Web.config.
Моя интуиция подсказывает мне, что мой XPath /configuration/connectionStrings/add[@name='DbConn']/@connectionString
неверен, но мне он кажется нормальным и соответствует тому, что сделали другие сообщения, такие как Кобус Бернар.
Любая помощь приветствуется.