Я создал конфигурацию с именем Local и хочу, чтобы мой web.local.config
был преобразован таким образом:
1.Строка подключения
My web.config
имеет следующую строку подключения:
<connectionStrings>
<add name="Entities"
connectionString = "dummy"
providerName="System.Data.EntityClient" />
</connectionStrings>
Хотелось бы, чтобы у моего web.local.config
было следующее:
<connectionStrings>
<add name="Entities"
connectionString="What a nice connection string!"
providerName="System.Data.EntityClient" />
</connectionStrings>
В настоящее время я установил свое преобразование следующим образом:
<connectionStrings>
<add name="Entities"
connectionString="What a nice connection string!"
xdt:Transform="SetAttributes"
xdt:Locator="Match(name)"/>
</connectionStrings>
Я также попытался преобразовать Replace
следующим образом, но это также не работает:
<connectionStrings>
<add name="Entities"
connectionString="What a nice connection string!"
xdt:Transform="Replace"
xdt:Locator="Match(name)"/>
</connectionStrings>
Но явсе еще получаю исключение формата в Entity Framework, когда мой DbContext
объект пытается инициализировать себя, используя мою строку подключения.
2.Настройки приложения
My web.config
имеет следующие настройки приложения:
<appSettings>
<add key="Nice" value="true" />
<add key="NotNice" value="true" />
<!-- I want only this one's value to change in my web.local.config -->
<add key="foo" value ="I am a foo." />
</appSettings>
Я хотел бы изменить только значение настройки приложения, ключ которого равен foo
, чтобыmy appSettings
в моем web.local.config
выглядит следующим образом:
<appSettings>
<add key="Nice" value="true" />
<add key="NotNice" value="true" />
<!-- I want only this one's value to change in my web.local.config -->
<add key="foo" value ="Are you also a foo?" />
</appSettings>
Мое примененное преобразование выглядит следующим образом:
<appSettings>
<add key="foo" value = "Are you also a foo?"
xdt:Transform="SetAttributes(value)"
xdt:Locator="Match(key)"/>
</appSettings>
Я также пробовал преобразование Replace
следующим образомно это тоже не работает:
<appSettings>
<add key="foo" value = "Are you also a foo?"
xdt:Transform="Replace"
xdt:Locator="Match(key)"/>
</appSettings>
Но когда я читаю ключ foo
из моего appSettings
, когда я запускаю свою конфигурацию Local в режиме отладки, код все равночитает старое значение "I am a foo."
Что я делаю не так?