Две вложенные библиотеки DLL - PullRequest
1 голос
/ 08 июля 2010

У нас есть файл DLL;скажем, X.DLL.

Сейчас мы пишем другую DLL, скажем, «A.DLL», которая использует некоторые (очень немногие) функции X.DLL.У нас нет доступа к исходному коду X.DLL.Кроме того, мы не хотим предоставлять нашим клиентам X.DLL вместе с A.DLL.

Вместо этого мы хотим инкапсулировать X.DLL в A.DLL, чтобы было достаточно распространения A.DLL.

Возможно ли это?

Ваша помощь приветствуется.

Код для начинающих

Ответы [ 4 ]

3 голосов
/ 08 июля 2010

ILMerge

ILMerge - утилита для слияния несколько сборок .NET в один Сборка .NET. Работает на исполняемых файлах и DLL, и поставляется с несколькими варианты управления обработкой и формат вывода. Увидеть сопроводительная документация для подробности.

2 голосов
/ 08 июля 2010

Вы отметили свой вопрос с помощью c #.

Если это DLL управляемых сборок, которыми они будут, если код c #, то вы можете делать именно то, что вы хотите, с ILMerge .

0 голосов
/ 08 июля 2010

Невозможно заключить одну библиотеку в другую.
Выход может быть, если вы можете получить библиотеку от поставщиков X.DLL и статически связать ее с вашим кодом. Хак может нести X.DLL как ресурс внутри вашей dll, затем распаковать и загрузить во время выполнения.

0 голосов
/ 08 июля 2010

копирование исходного кода из x.dll в a.dll с необходимыми функциями.или разделить x.dll на две DLL

...