Могу ли я добавить неуправляемую C ++ DLL в приложение ASP MVC - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь добавить ссылку на DLL, созданную с использованием C ++ в ASP. Net MVC 5 приложении. Я хочу вызывать функции в DLL из приложения.

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

Да, вы можете. Ключевым моментом здесь является «вызов платформы».

  1. Вам необходимо создать класс, содержащий методы DLL (в примере Win32)
  2. Вам необходимо определить прототипы / сигнатуры Методы DLL с использованием аннотации DllImport
  3. Теперь вы можете вызывать эти методы

Этот пример взят из документации Microsoft :

using System;
using System.Runtime.InteropServices;

public class Win32 {
     [DllImport("user32.dll", CharSet=CharSet.Auto)]
     public static extern IntPtr MessageBox(int hWnd, String text, 
                     String caption, uint type);
}

public class HelloWorld {
    public static void Main() {
       Win32.MessageBox(0, "Hello World", "Platform Invoke Sample", 0);
    }
}
0 голосов
/ 15 апреля 2020

Да, любая нативная или неуправляемая DLL может использоваться с ASP MVC приложениями. сборки должны быть нацелены на ту же платформу . Если C ++ DLL была создана для платформы x64, то приложение (веб / консоль), импортирующее ее, также должно быть построено для той же конфигурации. Смотрите сообщение от @bdongus для импорта с использованием DllImport

...