Загрузить больше DLL-файлов в 1 объект сборки в .NET

#c# #vb.net #reflection

#c# #vb.net #отражение

Вопрос:

допустим, у меня есть 5 DLL-файлов, каждый из которых является частичным классом, который они должны сформировать вместе… Есть ли способ, которым я мог бы загрузить эти 5 файлов в 1 объект сборки?

Комментарии:

1. Что вы имеете в виду под «5 DLL-файлами, каждый из которых является частичным классом»? Вы хотите получить один. DLL с 5 классами или одним классом?

2. Нет, соберите все файлы вместе в одной сборке. У вас не может быть частичных классов, разбросанных по нескольким библиотекам DLL, если вы не написали код самостоятельно. Если это так, вы допустили ошибку. Достаточно просто исправить, добавить все файлы кода в пустой проект и скомпилировать заново.

3. 1-й класс конца кода частичного класса MyClass библиотеки DLL, 2-й класс конца кода частичного класса MyClass библиотеки DLL, другой класс конца кода и т. Д

4. Верно, Бруно, это то, что мы говорим. Вы не можете распространить частичный класс на несколько DLL. Частичный класс должен быть определен в одной сборке, единственное, что делает это partial , это то, что он может быть определен в нескольких файлах. Вам нужно переместить все эти файлы кода в один проект и перекомпилировать как одну DLL, прежде чем вы сможете их использовать.

Ответ №1:

Невозможно распространить частичный класс более чем на одну DLL. Поместить 5 классов в одну DLL вполне возможно, просто продолжайте добавлять классы в свой проект. Не начинайте просматривать ILMerge, пока не разберетесь с этим.

Ответ №2:

Вы можете просто использовать ILMerge для объединения всех сборок в одну. Если это не то, что вы просите, у вас не может быть разделов одного класса, распределенных по нескольким сборкам. Единственное известное мне решение — это использование методов расширения.