Настройка зависимости сборки без использования ссылки? - PullRequest
3 голосов
/ 09 июля 2009

Все: Я работаю над решением, в котором один из проектов на самом деле подключается к основному файлу, который создает решение. Поскольку этот проект является плагином, ссылаться на плагин из основного exe-файла неправильно (эта сборка не обязательно присутствует в развертывании, это необязательно).

Итак, вот моя проблема: Если я изменю код в своем проекте плагина, а затем нажму F-5 для запуска, Visual Studio не будет всегда собирать мой плагин (так как основанный на ссылочном дереве основной исполняемый файл не зависит от него).

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

Я знаю о глобальных настройках в инструментах | варианты | Build and Run, но я бы предпочел не менять глобальное поведение VS просто для того, чтобы правильно построить это решение (также, если настройка соответствует решению или проекту, тогда, когда другие разработчики проверяют это, они должны просто наследовать установка)

Кстати: это проекты c # в решении VS 2005.

Ответы [ 2 ]

3 голосов
/ 09 июля 2009

Щелкните правой кнопкой мыши корневой узел в обозревателе решений -> Свойства -> Зависимости проекта. (Пользователи VS 2008: эта функция получает свое собственное диалоговое окно, которое напрямую доступно из контекстного меню.)

Граф зависимостей представлен в виде списка флажков смежности. У каждого выбранного проекта будут отмечены и отключены его прямые ссылки [при условии, что вы используете ссылки на проекты, а не сборки]. Другие флажки могут быть отключены, если они создают циклическую зависимость.

Если флажок не отключен, при установке или снятии флажка в файл решения будет записан раздел ProjectSection (ProjectDepedencies) . Таким образом, ваши настройки будут распространяться на других разработчиков через систему контроля версий.

Справедливое предупреждение, хотя: если вы используете MSBuild (включая любую версию Team Build), он не всегда обрабатывает настройки файла * .sln так же, как это делают сборки в Visual Studio. * .sln не является собственным типом файлов MSBuild, в отличие от файлов *. ?? proj. Я сам столкнулся с проблемой , описанной здесь ; Я также иногда видел противоположное поведение.

0 голосов
/ 09 июля 2009

Могу ли я предложить создать фиктивный (пустой) проект, представляющий комбинацию основного исполняемого файла и плагина, и настроить этот проект так, чтобы он зависел от обоих, но запустить EXE при запуске?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...