Преобразования XDT — Преобразование преобразования

Я создаю пакет nuget, в котором частью результата установки пакета является изменение файла web.release.config.

У меня нет проблем со вставкой элементов в этот файл с помощью моего web.release.config.install.xdt, но мне нужно сохранить атрибуты xdt:Transform и xdt:Locator для вставляемых элементов, потому что эти преобразования нужно будет запускать, когда приложение создано для развертывания.

Так, например, при установке пакета nuget я хотел бы видеть:

<add key="serilog:using" value="Serilog.Sinks.Seq" xdt:Transform="InsertIfMissing" xdt:Locator="Match(key)" />

отображаются в файле web.release.config, включая атрибуты xdt:Transform и xdt:Locator.

Можно ли сделать это?


person Kelly    schedule 19.06.2015    source источник
comment
Я разместил вопрос об этом в блоге nuget.   -  person Gyula Kósa    schedule 03.08.2016


Ответы (1)


Я не верю, что то, что вы пытаетесь сделать, поддерживается ни msbuild, ни SlowCheetah. Большинство владельцев пакетов NuGet недостаточно знают о реализации своих клиентов, чтобы задавать значения в конфигурациях, специфичных для среды. Кроме того, инструменты преобразования не были написаны с учетом NuGet, поскольку они были созданы для удовлетворения других потребностей. Извините за плохие новости.

Вы можете использовать сценарий PowerShell init.ps1, чтобы сделать это (NuGet запустит этот сценарий при первой установке пакета в решении), но он будет менее чем чистым.

person P. Roe    schedule 26.12.2016