Используйте код из другого решения, которое все еще находится в разработке
Это может быть тривиальный вопрос, но как я могу использовать код из проекта другого решения, чем тот, в котором я сейчас работаю? Напоминаю, что код, который я хочу использовать, находится в стадии разработки. Вот решения, которые я исследовал:
- Щелкните правой кнопкой мыши решение и добавьте проект в это решение как существующий проект.
- Добавьте ссылку на dll отладки / выпуска, содержащую код, который мне нужен.
Мне нравится первый вариант, так как он позволяет мне просматривать структуру и исходный код проекта, из которого я использую код. Кроме того, не имеет значения, построен ли проект с помощью Debug или Release; последний код будет использован автоматически. Недостатком (на мой взгляд, большим) является то, что я могу редактировать этот проект из моего нового решения.
Второй вариант исключает возможность случайного редактирования кода проекта, однако здесь я застрял либо с выбором отладочной, либо с релизной версией dll, которая мне нужна. Это не относится ко мне.
Итак, есть ли третий вариант, который сочетает в себе лучшее из этих двух методов, или я что-то упустил полностью?
3 ответа
У нас та же проблема в нашей среде разработки. Решение, которое мы используем, заключается не в том, чтобы bin
папка, но в другую папку, выходящую за рамки текущего проекта. Каждый проект выводит туда свои файлы (он также используется для контроля версий). Из этого места вы можете включить сборку.
Когда вы меняете Debug
в Release
, файл будет обновлен автоматически. Нет необходимости переключаться на другую папку.
Просто добавьте.dll из другого проекта /Debug/Release. Или, что еще лучше: добавьте сценарий пост-сборки в "другой проект", чтобы выпуск.dll всегда копировался в каталог "библиотеки".
Недостатком (на мой взгляд, большим) является то, что я могу редактировать этот проект из моего нового решения.
С другой стороны, положительным моментом является то, что вы можете редактировать этот проект из нового решения. Зачем вам вносить изменения в этот проект, который ему не нужен?
Если проект очень молодой, я бы предпочел иметь его в качестве источника по этой самой причине. Добавьте проект модульного тестирования для этого проекта в свое решение, и тогда вы сможете улучшить проект в контексте более чем одного решения, для которого он предназначен.
Если проект не очень молодой, я бы посоветовал распространять бинарный файл на частном сервере Nuget. Их очень быстро настроить, они недороги (им нужен компьютер, на котором можно запустить веб-сервер, и на этом компьютере он не будет ресурсоемким), поэтому использование ваших сборок так же просто, как и любого другого пакета nuget.