2013-06-19 2 views
6

Я пытаюсь создать кнопку, которая будет автоматически запускать несколько команд Powershell, которые импортируются в NuGet пакета (инструменты в пакете NuGet)Visual Studio добавить пользовательскую команду для запуска в консоли диспетчера пакетов?

Я узнал, как добавить пользовательскую кнопку в этом вопросе: How can I add a custom command to Visual Studio?. Но я не могу узнать, как запустить эту команду в консоли диспетчера пакетов.

Итак, есть способ добавить пользовательскую командную кнопку в визуальную студию, которая начнет и запустит команду в консоли диспетчера пакетов?

+0

Этот вопрос связан? http://stackoverflow.com/questions/5077711/nuget-writing-tools-for-package-manager-console-custom-cmdlets –

+0

Как-то да, но это только показывает, как создавать пользовательские команды/функции внутри консоли управления пакетами –

ответ

2

Используя специальную команду, описанную link, вы можете использовать только внешние инструменты. В вашем случае вы можете запустить утилиту командной строки NuGet. Во-первых, вам нужно download nuget.exe. Затем вам нужно добавить пользовательскую команду, аргументы для нее и начальную директорию в диалоговом окне «Внешние инструменты». Вы можете использовать переменные решения (например, $ (ProjectFileName), $ (SolutionDir)) для аргументов и исходных полей каталога. Вы можете использовать bat-файл для запуска нескольких команд.

К сожалению, утилита командной строки NuGet имеет меньше возможностей, чем консоль диспетчера пакетов. Я не знаю, достаточно ли этих функций для решения вашей проблемы?

Чтобы использовать все функции NuGet и интегрироваться в Visual Studio, вы можете реализовать свой VSPackage. Из VSPackage вы можете добавить в любом месте Visual Studio пользовательскую команду (в виде кнопки или элемента меню). Когда запуск команды (пользователь нажал кнопку), вы можете вызвать любой метод из NuGet API внутри Visual Studio. Этот путь требует времени для развития, а не просто.

+0

К сожалению, мне нужно запустить пользовательские команды в консоли диспетчера пакетов. Они даже не являются командами nuget, но они импортируют и позволяют использовать пользовательские командлеты –

Смежные вопросы