Debug-компиляция несвязанного проекта в рамках решения

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Samsonov
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 22.04.2010 (Чт) 7:32
Откуда: DC

Debug-компиляция несвязанного проекта в рамках решения

Сообщение Samsonov » 11.06.2010 (Пт) 19:42

Вопрос не по самому языку VB.NET, а по функциям среды Visual Studio. Вопрос кажется нубским, но несколько попыток гугленья не дали ровным счётом никаких зацепок, — заранее извиняюсь, если «слона-то и не приметил».


Хочется при запуске одного проекта по F5 создавать также и debug-версии [почти] всех других проектов, входящих в решение, при том, что запускаемый проект не зависит от тех проектов.

Другими словами, было у меня когда-то одно большое-большое приложение «всё в одном», а я его решил поделить на маленькие части:
  • общая библиотека функций (возможно, она тоже будет поделена на несколько частей);
  • конечные приложения, использующие общую библиотеку;
  • плагины — маленькие библиотеки, динамически загружаемые общей библиотекой, а также некоторыми конечными приложениями.
Когда запускается отладка какого-либо из конечных приложений, то автоматически — по зависимостям — строится и отладочная версия общей библиотеки. Но плагины при этом не компилируются! Можно, конечно, пройтись по каждому из них (а это уже больше десятка, и будет только прибавляться) и нажать F5, при этом каждый раз получая сообщение, что проект является библиотекой и не может быть запущен, — но как-то не весело это.

Пока приходится обходиться release-версиями, что не только долго и муторно (похоже, все бинарники создаются каждый раз заново, независимо от изменения исходников) и крайне затрудняет отладку, но и порой порождает новые ошибки, отсутствующие в debug-версиях. Из-за последнего обстоятельства мне даже пришлось перейти с VB2005 на VB2008 — говорят, это известный глюк компилятора 2005, что некоторые последовательности операций при release-оптимизации транслируются в зависающий IL-код.

В общем, хотелось бы нормальной автоматизации процесса. Соответственно, решение в виде ручного создания батника, который бы запускал компиляцию всех плагинов, — не рассматриваю; если батник будет формироваться автоматически — другое дело. Должен же существовать какой-то нормальный способ, иначе на кой нужна IDE? — можно и Блокнотом пользоваться. :)

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Debug-компиляция несвязанного проекта в рамках решения

Сообщение FireFenix » 11.06.2010 (Пт) 23:41

Samsonov писал(а):можно и Блокнотом пользоваться. :)

Ну вот не нада всё так иронизировать +)

Идём в Solution Explorer и ПКМ на первом Solution 'абаба' и выбираем Properties
там можно настроить всё что душе пожелает... Но мы идём в ветку Project Dependencies выбираем главный проект в комбобосе и на зависимых ставим галочки :)
Так же компилирование можно настроить в ветке Configuration Properties

вроде ничего не забыл...
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Samsonov
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 22.04.2010 (Чт) 7:32
Откуда: DC

Re: Debug-компиляция несвязанного проекта в рамках решения

Сообщение Samsonov » 12.06.2010 (Сб) 9:44

FireFenix писал(а):идём в ветку Project Dependencies, выбираем главный проект в комбобосе и на зависимых ставим галочки
Э-э-э… я же вроде чётко написал, что речь идёт о плагинах*: они зависят от главной библиотеки, некоторые из них также зависят от конечных приложений, но ни главная библиотека, ни конечные приложения не зависят от плагинов — просто по определению, на то они и плагины. Да и если вы всё же попробуете сформировать такие зависимости, то среда разработки вас сразу же предупредит о недопустимости кольцевых связей.

Если бы всё было так просто, я бы вопрос не задавал. Тут ведь задача строго обратная: инициировать сборку проектов, которые никак не зависят от отлаживаемого, — вообще всех проектов в решении, без учёта связей между ними.


* Главную библиотеку тоже иногда приходится компилировать явным образом. Но она хотя бы одна. А плагинов — много, и их всех хочется иметь в актуальном виде при отладке любого модуля.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 7

    TopList