У меня есть файл конфигурации, который используется в нескольких проектах, general.config
, выглядит так:
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="mykey1" value="myvalue1"/>
<add key="mykey2" value="myvalue2"/>
</appSettings>
В одном из проектов мне нужно переопределить один из двух параметров.Таким образом, app.config
этого проекта выглядит так:
<?xml version="1.0"?>
<configuration>
<appSettings file="general.config">
<remove key="mykey1"/>
<add key="mykey1" value="anothervalue"/>
<add key="mykey3" value="myvalue3"/>
</appSettings>
</configuration>
Но remove
здесь не работает.Как я могу переопределить mykey1
без прерывания mykey2
?add
работает в этом случае.Я могу получить myvalue3
из ConfigurationManager
.
РЕДАКТИРОВАТЬ: general.config
копируется в выходную папку автоматически при компиляции.Не волнуйтесь о проблеме пути.В настоящее время я получил:
ConfigurationManager.AppSettings["mykey1"]
//I got "myvalue1", but I want "anothervalue" here
//that is, this item is "overrided", just like virtual methods in C#
ConfigurationManager.AppSettings["mykey2"]
//this setting will not be modified, currently it works fine
ConfigurationManager.AppSettings["mykey3"] //good