.NET App.config. Как заменить атрибут файла?
Вот краткий обзор текущей ситуации: В моем решении (консольное приложение) я использую файл app.config с такой записью:
Мы пришли с идеей заменить атрибут файла с помощью SlowCheetach. Он прекрасно работает с заменой записей значения ключа, но мы не можем заставить его работать правильно.
Есть ли способ заменить свойство файла на SlowCheetach или любой другой легкий инструмент? Мы действительно хотим избежать использования скриптов сборки для изменения вывода app.config.
1 ответ
Решение ниже не работает должным образом, потому что идентификатор не является допустимым элементом схемы. Реальное решение внизу.
Я нашел простой способ сделать это. Все, что нужно сделать, это добавить еще один атрибут в appSettings и установить его как Match Selector, чтобы запись в app.config выглядела так:
<appSettings file="Additional.config" id="appconfig">
и тот, что в App.Debug.config:
<appSettings id="appconfig" file="New/Path/To/Additional.config" xdt:Transform="Replace" xdt:Locator="Match(id)">
Реальное решение здесь:
Оказывается, вы можете просто использовать преобразование в форме:
<appSettings xdt:Transform="RemoveAttributes(file)">
который удалит только атрибуты, переданные RemoveAttributes и оставит остальную часть конфигурации без изменений.
Подробнее о возможных атрибутах преобразования можно прочитать здесь