В статье "Model scaffolding для MVC 3 – идеи и принципы" я рассказал об идеях и принципах, заложенных в основу пакета Model Scaffolding. Сейчас я расскажу о следующем:
- Как написать простой пакет NuGet.
- Как подготовить инфраструктуру для разработки и отладки пакетов NuGet.
- Как начать реализовывать свой Scaffolder (генератор чего-либо в любом вашем проекте, необязательно ASP.NET MVC).
Важное замечание: после выхода NuGet 1.6 вы можете столкнуться с неожиданными ошибками при установке любых пакетов NuGet для Scaffolding (мои пакеты зависят от T4Scaffolding). В этом случае рекомендую такую последовательность:
- Uninstall NuGet.
- Install NuGet.
- Затем то же самое для всех Scaffolding-пакетов (с учетом зависимостей некоторые установятся сами).
NuGet
Scaffolder имеет смысл делать именно NuGet-пакетом, поэтому коротко расскажу о том что это и как создать и опубликовать пакет в простом случае (подробнее можно почитать в документации). Про возможности NuGet я уже рассказывал раньше, в статье MVC 3 + scaffolding.
NuGet-пакет формируется из набора файлов с помощью файла спецификации и приложения NuGet.exe. Затем его можно опубликовать на NuGet.org или на другом (например, своем) сервере. Также можно просто скопировать в некоторую папку, а папку добавить в настройки Visual Studio (Tools / Library Package Manager / Package Manager Settings). Так что, если хотите использовать возможности NuGet в своей закрытой разработке – это тоже возможно.