2

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

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

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

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

BTW: это проекты C# в решении VS 2005.

ответ

2

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

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

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

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

+0

Это получилось! Я знал, что видел этот диалог раньше, я просто не мог его найти (и, в конце концов, я подумал, что мне снилось все это). Благодарю. – JMarsch

0

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

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