Посмотрев несколько сообщений на эту тему ( post1 , post2 ), я не увидел ответ, который я ищу, и даже вопросы для этих сообщений не кажется, не было ответа. Кроме того, некоторые ссылки довольно старые.
В проекте MVC, если следовать по пути контекстного меню, щелкните правой кнопкой мыши Controllers > Add > Controller...
, и мы получим диалог Add Scaffold
, как показано ниже:
![enter image description here](https://i.stack.imgur.com/DPgI6.png)
Я понимаю, что мы можем создать папку CodeTemplates
, добавить измененные шаблоны для строительных лесов, и они будут использоваться при выполнении диалога Add Scaffold
, показанного выше.
У меня вопрос: где мне добавить новую запись в диалог Add Scaffold
, показанный выше?
Например, у меня может быть стандартный способ, которым я хочу расширить роли или пользователей MVC и хотел бы иметь возможность использовать Scaffold. Я не могу по-настоящему настроить один из существующих каркасов, потому что тогда он больше не будет доступен, в дополнение к этому было бы непонятно иметь старое имя, когда каркасы предназначены для другой цели.
Я действительно хочу добавить новую запись в диалог, показанный выше, такой как:
MVC 5 RolesController
Где и как мне это сделать?
Добавлено после исходного сообщения: Поскольку я продолжаю размышлять над заданным вопросом, мне приходит в голову, что я пытаюсь понять тонкие различия между использованием шаблонов, библиотек или пакетов NuGet и, как в этом вопросе, строительные леса.
В моем примере выше я предложил добавить что-то вроде RolesController. Это обычное требование для обработки пользовательских ролей каким-либо образом, но это не просто добавление библиотеки; это также требует поддержки взглядов. Существует также общая потребность в более надежной обработке ошибок, UserController для углубленного управления профилями, расширенной справочной системой и многими другими функциями, которые можно отнести к стандартным строительным блокам, не все из которых требуются в каждом проекте, но если было бы полезно иметь возможность легко интегрировать их один за другим, а не иметь какой-то массивный монолитный шаблон проекта.
Просто кажется, что возможность добавлять эти вещи с помощью скаффолдинга оказалась полезной, но, может быть, как я упоминал выше, я не вижу нюансов между шаблонами, скаффолдингами, библиотеками и NuGet. Я вижу, как каждый из этих инструментов охватывает спектр от общего до конкретного, но было бы неплохо иметь структуру, в которой можно понять, когда использовать данный инструмент.
Когда я смотрю на эту проблему, есть как минимум две широкие динамики, может быть, больше; general-specific
и simple-complex
. Контроллер лесов CRUD очень general
, но также complex
, потому что он требует класса и представлений. Контроллер ролей more specific
и also complex
требует представления, но, как правило, очень повторяется, и мы бы хотели не повторяться. С другой стороны, библиотеки очень specific
и могут быть очень simple
, если все, что требуется, - это одна библиотека.
Надеюсь, я дал немного больше информации о том, с чем я борюсь, чтобы кто-нибудь помог мне направить меня в правильном направлении, когда использовать каждый из этих инструментов, чтобы сделать разработку более эффективной. Возможно, в конце концов, тему моего вопроса нужно будет изменить, чтобы помочь другим, борющимся с той же проблемой.