1) как писать расширение под разные вижуал студии? Хочу сделать под vs17/19. Собрал VSIX, прописал там какие-то версии студий [15.0, 17.0) (визарды пиздец....). Даже так, было у меня под вс17 всё работало ок, собирал 17-ой студией, решил перенести под 19. Создал новый проект под 19 (видимо моя первая ошибка) прописал студии [15.0, 17.0), собрал vsix — инсталлятор пишет что для 17-ой у меня депенденси не те (ну оно и понятно), 19-ой в списке вообще нет =). В общем, надо под 17-ой собирать? с устаревшими зависиомстями? Как их через нугет поставить? пытался проапгрейдить ещё под 17-ой, до последних версий — огреб кучу конфликтов, с даунгрейдом так же будет? ) Замечательная утилита нугет =)
А если захочу под 15-ую студию сделать надо всё до 15-ой даунгрейдить?
2) Как темы для впф окошек поддержать? На стековерфлоу нашел что надо писать ресурс темплейты и тянуть значения из вижуалы... руками.... для каждого контрола.... збс, правда что ли? Писать расширения дл студии это боль и страдания?
Здравствуйте, yatagarasu, Вы писали:
Y>А если захочу под 15-ую студию сделать надо всё до 15-ой даунгрейдить?
Я не знаю правильно ли это, но я сделал общий код и отдельные csproj/sln для каждой версии студии.
единственное — нужно не забывать включать новые файлы. Хотя может и это как-то решается через таблицы свойств, мне проще включить руками.
Здравствуйте, x-code, Вы писали:
XC>Здравствуйте, yatagarasu, Вы писали:
Y>>А если захочу под 15-ую студию сделать надо всё до 15-ой даунгрейдить?
XC>Я не знаю правильно ли это, но я сделал общий код и отдельные csproj/sln для каждой версии студии. XC>единственное — нужно не забывать включать новые файлы. Хотя может и это как-то решается через таблицы свойств, мне проще включить руками.
Всё оказалось достаточно просто, если не использовать функции новых студий, то модно откатить зависимости до мнимальных и прописать версии [15.9, 17.0) в vsixmanifest. Главное не через визард делать, а то можно забыть версии в Пререквизитах (да и толку от этого визарда не много) и получить несовместимость при установке.
Здравствуйте, yatagarasu, Вы писали:
Y>Всё оказалось достаточно просто, если не использовать функции новых студий, то модно откатить зависимости до мнимальных и прописать версии [15.9, 17.0) в vsixmanifest. Главное не через визард делать, а то можно забыть версии в Пререквизитах (да и толку от этого визарда не много) и получить несовместимость при установке.
Оказалось даже, что можно более старой версией студии спокойно собирать расширения под все более новые (указанные в vsixmanifest). При запуске vsix предлагается список студий, для которых его следует установить.
Здравствуйте, yatagarasu, Вы писали:
Y>Писать расширения дл студии это боль и страдания?
ДА.
Сверхабстрактные интерфейсы на каждый чих, причём писаные дебильным COM'ом. От самой студии вообще никакой помощи. Дебильные конфиги, которые прогер по-хорошему не должен видеть вообще — это забота студии — проверить все вызовы своих кишок и определить минимальную и максимальную версии.
Такой фуфлокомбайн проще переписать, причём заранее ориентируясь на уже написанные расширения и предусмотреть, чтобы расширение не приходилось писать простынями кода. Задачу облегчает то, что Рослин — независимый сервис.