Как условно преобразовать XAML во время сборки с помощью XSLT для отражения директив препроцессора C#?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как условно преобразовать XAML во время сборки с помощью XSLT для отражения директив препроцессора C#?

Сообщение Anonymous »

При разработке я широко использую директивы препроцессора C#. Я определяю их либо непосредственно в файлах .cs, либо глобально в .csproj:

Код: Выделить всё

fix_issue_001;fix_issue_002;

Или через командную строку, как описано здесь.
Затем я использую их для разделения кода:

Код: Выделить всё

#if fix_issue_001
// some new code
#else
// some old code
#endif
Это помогает мне отслеживать изменения, хотя я признаю, что это не самый читабельный или канонический подход. Управление версиями и ветвление были бы лучше, но мы ограничены SVN и Visual Studio.
Теперь я хочу распространить этот шаблон на файлы WPF XAML. Поскольку директивы препроцессора недоступны в XML, я рассматриваю возможность использования XSLT для достижения аналогичной функциональности.
Например, я хотел бы иметь что-то подобное в своем XAML:< /p> Цель состоит в том, чтобы XSLT преобразовывал это во время сборки, включая/исключая разделы в зависимости от того, определено ли fix_issue_001, точно так же, как работает #if/#else на C#.
Требования:
  • Поддержка функций конструктора XAML в Visual Studio
  • Минимизировать изменения в существующих code
  • Предпочитаете решения, использующие .csproj/ и/или другие конфигурации, чтобы он беспрепятственно работал внутри Visual Studio.
  • При необходимости приемлемы решения командной строки (пакетная обработка/PowerShell) (например, использование xsltproc или Saxon). -ОН)
Возможно ли это? Как бы вы это реализовали?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -c-sharp-p
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»