Самый простой способ - это создать внешний инструмент (exe, powershell script), который создает файл, и добавить его в качестве действия сборки.
Недавно я писал в блоге о создании модуля PowerShell ( blogpost здесь , исходный код здесь ), который может быть полезен. Вы можете просто передать некоторые объекты в командлет, например так:
Get-Command | Format-Razor "Command: @Model.Name, @for (int i = 0; i < 5; i++) { @i }"
Если вы не знакомы с PowerShell, вы можете сделать что-то подобное с некоторым C # и консольным приложением компиляции. Некоторая информация об этом может быть найдена в блоге Эндрю Медсестры , хотя его пост касается только создания кода. Вы можете преобразовать мой PowerShell обратно в C # или скопировать код Эндрю Медсестер из этой презентации (прямо в конце), которая выполняет компиляцию (мой PowerShell был написан на основе содержимого этой веб-трансляции:))