#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 для объединения всех сборок в одну. Если это не то, что вы просите, у вас не может быть разделов одного класса, распределенных по нескольким сборкам. Единственное известное мне решение — это использование методов расширения.