Теперь OXITE может работать с более новыми функциями доступными в ASP.NET MVC 2.0. Ура!
Важный подводный камень. После подключения новой версии сборки, компилятор напрочь отказывается компилировать представления (в случае, если они работают на WebForms). Для устранения проблемы, нужно в web.config, вслед за тегом </system.webServer> добавить:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
И теперь шаблоны представлений OXITE в формате самого HTML-ориентированного двигателя представлений Spark View Engine. Мощная, но тяжелая для проектов на OXITE инфраструктура WebForms не выдержала конкуренции и была снята с производства. :)
Чтобы изменить двигатель представлений в OXITE c WebForms на Spark, нужно создать класс OxiteDescriptorBuilder, наследовать его от Spark.Web.Mvc.DefaultDescriptorBuilder и переопределить методы с именем вида "...Locations".
Затем создать класс OxiteSparkViewEngine и наследовать его от Spark.Web.Mvc.SparkViewFactory, а там уже заменить DescriptorBuider на свой собственный.
После этого регистрируем новый двигатель и после этого, мы можем создавать любые пути для представлений, интегрировать поддержку различных тем и даже изменить расширение файлов представлений (*.spark).
Вообще, в документации по Spark View Engine рекомендуют использовать DescriptionFilterBase, а не DefaultDescriptionBuilder. По мне, так зачем реализовывать всю логику, когда можно переопределить несколько методов под свои нужды?