2010-08-16 2 views
4

Мне удалось создать расширение для визуальной студии «Обновление веб-ссылки» в виде простой dll, которая заботится о совместном использовании классов между разными проектами и т. Д. Все работает на моей локальной машине, и теперь я хотел бы создать удобный для пользователя пакет, чтобы все ребята в нашей компании могли его использовать. До сих пор яКакую надстройку/расширение для VS 2010 я должен создать?

  • 2 DLLs и 1 конфигурационный файл, что мне нужно скопировать в PrivateAssemblies папок в среде Visual Studio
  • A (относительно) просто изменения в devenv.exe.config файл

Есть ли поддерживаемый способ создания плагина/добавления/расширения, который поможет мне автоматизировать это и не заботиться о разрешениях для необходимых папок и т. Д., Или мне лучше написать простой инструмент развертывания и скажите ребятам запустить его с помощью d разрешений?

EDIT: Причина, по которой мне нужны оба этапа, заключается в том, что я разработал SchemaImporterExtension, который должен быть зарегистрирован в файле конфигурации VS IDE (или, альтернативно, в файле machine.config, но я думаю, что это не так быть проще), а библиотека, содержащая его, должна быть доступна разрешающим механизмом (возможно, есть и другие места, где она также будет найдена, GAC тоже будет работать)

EDIT 2: Наконец, я просто создал проект установки, который выполняет оба действия и даже восстанавливает конфигурационный файл в исходное состояние при его удалении. Я явно искал неправильное направление, потому что то, что я реализовал, далеко не плагин. Спасибо за советы в любом случае;)

+0

Можете ли вы прокомментировать, какие изменения были внесены в файл devenv.exe.config и почему вам нужно размещать сборки в PrivateAssemblies? Выполнение этих действий не позволит использовать использование VSIX для развертывания, поэтому, если вы * можете избежать этих вещей, это значительно упростит развертывание. –

+0

Я включил дополнительную информацию в редактирование;) –

+1

Для достижения разрешающего механизма вы можете добавить сборку к пути исследования VS с помощью файл .pkgdef. См. Этот файл [BindingPaths.pkgdef] (http://github.com/NoahRic/Spellchecker/blob/master/SpellChecker.Implementation/BindingPaths.pkgdef) (просто измените GUID на какой-либо другой случайный GUID и включите файл pkgdef в свой source.extension.vsimanifest). Я не уверен в регистрации в файле конфигурации, хотя :( –

ответ

2

xcopy и patch (или просто напишите что-нибудь простое, чтобы изменить файл конфигурации).

Оберните это все в пакетном файле/скрипте.

+0

Да, это то, что я планировал делать в любом случае, но вопрос был больше, если есть какой-то более удобный способ его развертывания :) –

2

Да, VSIX Файлы, используемые для упаковки (и потенциального перераспределения) VS-расширений.

Подробности приведены в документации VS SDK, например. here.

Редактировать: Также см. Тег «vsix» здесь, на SO.

+4

Вы не можете использовать VSIX (a) поместить сборки в PrivateAssemblies или (b) изменить файл devenv.exe.config, поэтому это решение не будет работать. –

+0

К сожалению, это то, чему я научился через некоторое время экспериментировать с ним :( –

1

Отметьте FeatureBuilder addin для упрощения создания плагинов. (На демонстрации есть некоторые видеоролики на канале 9.

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