Вариант пользовательского шаблона ASP.NET MVC 5 [шаблоны t4]

В настоящее время я разрабатываю фреймворк, я хочу добавить пользовательские леса в меню визуальной студии.

Пользовательские леса

По умолчанию "Контроллер MVC5 с представлениями, использующими Entity Framework" вариант 3 в диалоговом окне выбирает "CodeTemplates\MvcControllerWithContext\Controller.cs.t4" , этот t4 снова нацелен на представление шаблоны t4 внутри

  • "CodeTemplates\MvcView\ModelMetadataFunctions.cs.include.cs.t4"
  • "CodeTemplates\MvcView\Create.cs.t4"
  • "CodeTemplates\MvcView\Edit.cs.cs.t4"
  • "CodeTemplates\MvcView\Delete.cs.cs.t4"
  • "CodeTemplates\MvcView\List.cs.cs.t4"

Визуализация

Я модифицировал шаблоны t4 почти год, я не нашел ни одного доказательства того, как он ориентируется на эти представления или как добавить параметр в диалоговом окне создания шаблонов. Я много гуглил, но ничего близкого не нашел.

Подводя итог, я только ищу место, где я могу добавить или изменить места для этих шаблонов t4 и добавить ссылку на новый каркас в диалоговом окне создания каркаса.

Любой ответ будет дорого оценен. Спасибо.


person Md. Alim Ul Karim    schedule 13.04.2015    source источник
comment
Создание, удаление, детали .. и т. д. являются представлениями, а не контроллерами. Шаблоны t4 срабатывают при добавлении View из контроллера. Затем вы выбираете Шаблон, чтобы выбрать новый элемент каркаса.   -  person    schedule 14.04.2015
comment
При должном уважении, то, что вы говорите, подразумевается, когда мы генерируем одиночные представления, однако я сосредоточился на полном чтении/записи, как указано в описании. Генерацию одного представления мы можем контролировать, но как насчет генерации полного контекста.   -  person Md. Alim Ul Karim    schedule 14.04.2015
comment
При всем уважении, формулировка вашего вопроса совершенно неверна. Вы хотите создавать шаблоны контроллеров, а не шаблоны просмотра   -  person    schedule 14.04.2015
comment
вы видели это ссылка? Похоже, вы можете добавить свои собственные варианты в этот список, подписавшись на этот пост. На него ссылается официальная документация Microsoft здесь   -  person Frank    schedule 15.04.2015
comment
Спасибо, @Frank. Вы только что спасли положение.   -  person Md. Alim Ul Karim    schedule 16.04.2015
comment
@qwfddq рад помочь, но если это не сработает, вы можете проверить мое расширение для работы с шаблонами T4 (T4 Потрясающе). В зависимости от ваших потребностей это может сработать лучше, поскольку позволяет быстро создавать и делиться своими собственными каркасами T4. Полная версия стоит денег, но я предлагаю версию сообщества, которую вы можете использовать бесплатно навсегда.   -  person Frank    schedule 16.04.2015
comment
Конечно @Франк. Вы можете опубликовать это как ответ, и я выберу его. Спасибо, мужик.   -  person Md. Alim Ul Karim    schedule 16.04.2015


Ответы (1)


Прежде чем продолжить реализацию вашей платформы с использованием T4, вы должны знать, что команда ASP.Net vNext незаметно отказалась от поддержки T4 в проектах MVC6, поэтому, если это решение не будет отменено, вы не сможете обновить свою платформу.

Начиная с Visual Studio 2015 CTP6, проекты MVC6 не поддерживают генераторы отдельных файлов, которые являются обязательным требованием для T4. Причины, указанные командой ASP.Net vNext, описаны в официальном репозитории GitHub для ASP.Net.

https://github.com/aspnet/Home/issues/272

ОБНОВЛЕНИЕ

Дэвид Фаулер из команды теперь (29-04-2015) подтвердил, что генераторы одиночных файлов будут поддерживаться в MVC6, что, в свою очередь, должно разрешить поддержку T4.

ОБНОВЛЕНИЕ 2

Чтобы вернуться к вашему исходному вопросу об использовании пользовательских шаблонов кода для создания шаблонов, это не завершено для MVC6 и Visual Studio 2015.

Я поднял этот вопрос в упомянутой выше ветке отслеживания проблем ASP.Net GitHub; Сайед Ибрагим Хашими (MSFT) ответил, что будет некоторое обсуждение того, какая технология и реализация будут использоваться, и на данный момент основными кандидатами являются генератор T4 или Razor.

Сайед указал на следующую статью, в которой показаны некоторые ранние мысли, но подчеркивает, что это еще не завершено, и людям не следует тратить время на этот подход, так как он может измениться.

http://blogs.msdn.com/b/webdev/archive/2014/08/23/how-to-customize-scaffolding-templates-for-asp-net-vnext.aspx

person dmcquiggin    schedule 27.04.2015
comment
Я могу только сказать, что хотел бы, чтобы это было иначе - пожалуйста, прочитайте обсуждение, на которое я ссылаюсь, поскольку технически возможно иметь поддержку T4 в MVC6. Похоже, команда почему-то посчитала это неважным. Я обсудил этот вопрос со Скоттом Хансельманном, который сказал, что рассмотрит этот вопрос после конференции Build, а команда ASP.Net vNext говорит: «следите за этим пространством». Если они не думают, что люди хотят использовать T4 с MVC6, то они не будут беспокоиться, поэтому я предлагаю сообщить команде ваше мнение. - person dmcquiggin; 27.04.2015
comment
Я обязательно. Еще раз спасибо. - person Md. Alim Ul Karim; 27.04.2015
comment
ОБНОВЛЕНИЕ Дэвид Фаулер из команды подтвердил, что генераторы одиночных файлов будут поддерживаться в MVC6, что, в свою очередь, должно разрешить поддержку T4. - person dmcquiggin; 29.04.2015
comment
Это здорово @McQuiggd - person Md. Alim Ul Karim; 29.04.2015
comment
ОБНОВЛЕНИЕ 2 Будущая реализация функций шаблона кода для MVC6 еще не завершена. Если в этом вопросе будет какой-либо прогресс, я уберу опубликованный ответ с соответствующей информацией и ссылками. Ситуация по-прежнему нестабильна. - person dmcquiggin; 30.04.2015
comment
Не могли бы вы добавить обновление сейчас (через 3 года и ядро ​​​​ASP.NET)? - person IvanH; 10.05.2018