Создать одну .DLL из нескольких (Native и .NET) - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! Можно ли сделать одну .DLL из нескольких, разных платформ/языков? К примеру вот так: Wrapping C++ DLL for use in Excel / VBA using some pretty awesome open source projects получается, а так: Сделал следующее (только для понимания механизма): через NuGet установлено (это вообщем-то быстро): 1.Costura.Fody 2.Mpir.Net 3.Создан Class - LongNum (наследник Mpir.NET.mpz_t)
Листинг программы
  1. namespace ClassLibrary1
  2. {
  3. public class LongNum: Mpir.NET.mpz_t
  4. {
  5. }
  6. }
далее в в FodyWeavers.xml
Листинг программы
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Weavers>
  3. <Costura>
  4. <Unmanaged64Assemblies>
  5. <bool ssemblyToIndirectReference = "true">
  6. Mpir.NET
  7. xmpir64
  8. </bool>
  9. </Unmanaged64Assemblies>
  10. </Costura>
  11. </Weavers>
- Не пакует... xmpir64.dll в единую .DLL Добавил <bool ssemblyToIndirectReference = "true"> в соответствии с тем, что xmpir64.dll не включена в проект по прямой ссылке (и у меня не включается ссылка на эту .dll) Видимо или я делаю что-то не то, или нужна ссылка на .dll в проекте, что бы она попадала в пак..?! Платформа решения: везде x64 VB знаю получше чем С#, заранее извиняюсь за ошибки, если где-то буду допускать.

Решение задачи: «Создать одну .DLL из нескольких (Native и .NET)»

textual
Листинг программы
  1.         [DllImport("kernel32.dll")]
  2.         public static extern IntPtr GetModuleHandle(string lpModuleName);
  3.  
  4.         private static IntPtr initialize_hxmpir()
  5.         {
  6.             if (hxmpir == IntPtr.Zero)
  7.                 //hxmpir = LoadLibrarySafe(GetXMPIRLibraryPath());
  8.                 hxmpir = GetModuleHandle("xmpir64.dll");
  9.             return hxmpir;
  10.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы