Как я могу t4 эшафот от powershell.exe? - PullRequest
1 голос
/ 29 января 2012

Консоль NuGet PM великолепна, и все, кроме вас, нужно использовать Visual Studio, чтобы использовать ее.Я уже задавал этот вопрос без каких-либо ответов, и мне трудно поверить, что по этой теме нет документации.

У меня есть два пользователя: Пользователь А продает обувь, Пользователь Б продает автомобили.У каждого разные потребности в имуществе.Если я разрешаю им записывать необходимые свойства / типы данных в соответствующие сущности Product.cs, как я могу использовать PowerShell.exe для:

создания платформы контроллера, представлений, dbcontext и хранилищ?Я знаю, что потом смогу создать MSBuild, но как получается, что нельзя использовать PowerShell, скажем, из файла bat, для создания лесов вне VS 2010?

Любое понимание будет оценено.

Ответы [ 2 ]

2 голосов
/ 31 января 2012

Я наконец понял это после нескольких дней неудачи.Прежде всего, не используйте бета-версии Microsoft, включая Windows 8 Developer Edition, PowerShell 3.0 и VS 2011. После запуска и запуска PowerShell 2.0:

1.в папке PS / v1.0 добавьте файл powershell.exe.config:

Перейдите по этой ссылке для сценария: http://connect.microsoft.com/PowerShell/feedback/details/525435/net-4-0-assemblies-and-powershell-v2

, перезапустите PowerShell 2.0, и теперь он будет поддерживать4.0 рамки.

2.Установите политику выполнения, чтобы требовать подписи только для удаленных сценариев:

Командная строка: Set-ExecutionPolicy RemoteSigned

3.Импортируйте необходимые пользовательские леса t4 (чтобы вы могли использовать T4 Scaffold):

Командная строка: import-модуль C: \ Users \ Admin \ Documents \ "Visual Studio 2010" \ Projects \ MvcApplication1 \ packages\ T4Scaffolding.1.0.5 \ tools \ T4Scaffolding.NuGetServices.dll

Командная строка: модуль импорта C: \ Users \ Admin \ Documents \ "Visual Studio 2010" \ Projects \ MvcApplication1 \ packages \ T4Scaffolding.1.0.5 \ tools \ T4Scaffolding.dll

4.Теперь вызовите файл powershell:

Командная строка: C: \ Users \ Admin \ Documents \ "Visual Studio 2010" \ Projects \ MvcApplication1 \ MvcApplication1 \ CodeTemplates \ Scaffolders \ StevceScaffolders.AjaxGrid \ StevceScaffolders.AjaxGrid.ps1

(обязательно указывайте в любой папке, в которой есть пробелы, например "Visual Studio 2010"

Я, конечно, думаю, что было бы лучше, если бы MS предоставил некоторыепонимание этого в их документации.

0 голосов
/ 30 января 2012

Пытаясь запустить его из powershell, вы попадаете на труднопроходимую территорию, но это возможно.

Я думаю, что шаблоны T4 отображаются внешним инструментом. Я не вижу причин, по которым вы не можете вызвать этот EXE-файл из powershell, передав параметры в командной строке шаблона t4, который нужно вызвать. Результирующий файл (или файлы, см. Примеры Entity Framework T4 для записи нескольких файлов) будет выведен инструментом преобразования t4 после завершения.

Различные типы файлов будут обрабатываться разными шаблонами t4, Controller.t4, Views.t4, Dbcontext.t4 и respositories.t4.

Надеюсь, что поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...