2010-11-03 5 views
1

Когда я создаю ссылку на другой проект (библиотеку), который является частью одного и того же решения в Visual Studio, этот проект затем скомпилирован в мою сборку или связан с сборкой, созданной другим проектом? Мне интересно, нужно ли мне распределять обе сборки, или если я могу распространять только один.Ссылка на другой проект?

Если последнее (необходимо распределить оба), как я могу заставить его скомпилировать в одну сборку?

ответ

6

Этот проект затем скомпилирован в мою сборку или связан с сборкой, созданной другим проектом?

Другой проект имеет свою собственную сборку; он не компилируется в ваш.

Мне интересно, нужно ли мне распределять обе сборки, или если я могу распространять только один.

Вы должны распространять их.

Как я могу заставить его скомпилировать в одну сборку?

Нет встроенного способа сделать это с помощью Visual Studio, кроме перемещения исходного кода из другого проекта в основной. Вы можете посмотреть ILMerge.

2

По умолчанию проект библиотеки будет создавать отдельную сборку/dll. Согласно этому сообщению

Linking statically in C#

вы можете использовать ILMerge хотя объединить эти отдельные библиотеки DLL в совмещенный хотя.

1

Если вы ссылаетесь на другой проект, тогда компилятор будет генерировать DLL-файл для каждого проекта, необходимого для выполнения общего решения.

1

Solution file Используется для простой работы и управления проектами, которые не вносят изменений в проекты по умолчанию, возможно, вы хотите установить щит? иметь разные Dll - это не плохо, вы можете лучше улучшить свой основной проект.

2

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

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