Внедрение информации о типах в .NET из C++/CLI

246
07 июля 2022, 10:20

У меня есть native c++ dll, есть с++/cli враппер для нее (назовем эту длл-ку adaptor.dll). Также есть С# dll которая использует враппер. Эта длл-ка распространяемая (назовем ее assembly.dll).

Чтобы конечный пользователь мог использовать assembly.dll в своем проекте, необходимо чтобы он добавил в референсы обе длл-ки - assembly и adaptor. Чего собственно хотелось бы избежать.

Происходит это потому, что в adaptor.dll есть свои типы которые возвращаются либо принимаются как параметры. Соот-но если добавить только assembly.dll то будут ошибки, так как типы неизвестны.

Как избежать добавления референса в проект для adaptor.dll. Можно ли как то смерджить только информацию о типах? Идея с написанием классов оберток не подходит по ТЗ. ILMerge также не подходит, так как у меня две версии adaptor.dll - для х86 и х64 и всё это должно работать с AnyCPU (сейчас я загружаю нужную версию используя AssemblyResolve обработчик).

Спасибо.

READ ALSO
Считать кириллицу из .xlsm в C#

Считать кириллицу из .xlsm в C#

Изначально моя программа принимала на вход CSV файл сохранённый в Unicode и нормально считывала с него данные, но пришлось перейти на Excel и вот...

274
Как изменить размер изображения перезаписав файл

Как изменить размер изображения перезаписав файл

Есть метод для изменения размера картинкиКак сделать чтобы он перезаписывал файл

304
Как обойти заданную директорию?

Как обойти заданную директорию?

Изначально в программе задана директория:

285
Silverlight 5 и Visul Studio 2019

Silverlight 5 и Visul Studio 2019

В общем, дело было так: Все прекрасно работало до тех пор, пока не обновил Visual Studio и не столкнулся с проблемами, когда Visual Studio не понимала синтаксис...

214