Моя конкретная проблема заключается в том, как я могу автоматизировать «добавление-перенос» в процессе сборки для Entity Framework. В исследовании это, кажется, в основном, вероятно, подход что-то вдоль линий автоматизации этих шаговКак автоматизировать консоль диспетчера пакетов в Visual Studio 2013
- Открыть решение в Visual Studio 2013
- Выполнить «Add-Migration blahblah» в Package Manager Console (скорее всего, с помощью дополнения в vsextention)
- Закрыть решение
Этот первоначальный подход основан на моих собственных исследованиях и this question, тем PowerShell сценарий в конечном счете, за надстройку миграция требует совсем немного настройки для запуска. Visual Studio автоматически выполняет эту настройку при создании консоли диспетчера пакетов и создании объекта DTE. Я бы предпочел не пытаться дублировать эту настройку вне Visual Studio.
Один возможный путь к решению это без ответа переполнение стека question
В исследовании API NuGet, он не появляется, чтобы иметь «послать этот текст, и он будет работать, как он был напечатан в консоли» , Я не понимаю, что такое Visual Studio vs NuGet, поэтому я не уверен, что это то, что было бы там.
Я могу с легкостью найти «Консоль менеджера Pacakage» через команду «$ dte.Windows» в консоли диспетчера пакетов, но в окне VS 2013 эта коллекция дает мне объекты, которые являются «Microsoft.VisualStudio.Platform .WindowManagement.DTE.WindowBase». Если в нем есть текст материала, я думаю, мне нужно, чтобы это было NuGetConsole.Implementation.PowerConsoleToolWindow ", просмотрев source code. Я не понимаю, как текст будет набит, но я совсем не знаком с тем, что я видя.
в худшем случае, я буду падать обратно к попытке ключей Наполните его вдоль линий this question но предпочел бы не так, что существенно усложняет автоматизацию окружающего процесса сборки.
Всего этих существ
- Возможно ли передавать команды через код в Packag e Консоль менеджера в Visual Studio, которая полностью инициализирована и может поддерживать команду «добавить-перенаправить» в Entity Framework?
Спасибо за любые предложения, советы, помощь, не-злоупотреблений заранее,
Джон
Вы пытались использовать SendKeys, чтобы просто нажимать нажатия клавиш на WindowBase? http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys(v=vs.110).aspx – jessehouwing
Я/не пробовал SendKeys. Я рассматривал это как мое последнее решение канавы. Сначала я придумал подход ниже. –
Чтобы получить окно PMC, вы можете вызвать 'DTE.ExecuteCommand (« View.PackageManagerConsole »), а затем« DTE.ActiveWindow »будет окном PMC. Я до сих пор не понял, как отправить текст на него. – Jonathan