Этот вопрос закрыт для ответов, так как повторяет вопрос Можно ли совместить в одном проекте программы написанные на разных языках (C++, C#) в VS2012?
@Mars36

Как подключить в проект C# dll c кодом c++?

Нужно в проекте C# использовать код на C++. Единственный вариант, который я знаю это упаковать код в dll и подключить ее к проекту на C#. Создал DLL по этой инструкции: https://docs.microsoft.com/ru-ru/cpp/build/walkthr... . При подключении dll на C# через ссылки выкидывает ошибку(скрин прикреплен). Пробовал использовать следующий вариант:
[DllImport("Dll2.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern double Add(double a, double b);

Но VS на него так же ругается(скрин с ошибками прикреплен). Как исправить эти ошибки? Или все на самом деле просто?5f6af587e97c2220444257.png5f6af58eaf2ac900979522.png
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
firedragon
@firedragon
Senior .NET developer
Что то вы не там читали
https://docs.microsoft.com/ru-ru/dotnet/standard/n...

using System;
using System.Runtime.InteropServices;

public class Program
{
    // Import user32.dll (containing the function we need) and define
    // the method corresponding to the native function.
    [DllImport("user32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
    private static extern int MessageBox(IntPtr hWnd, string lpText, string lpCaption, uint uType);

    public static void Main(string[] args)
    {
        // Invoke the function as a regular managed method.
        MessageBox(IntPtr.Zero, "Command-line message box", "Attention!", 0);
    }
}


Дальше. Рядом с вашим проектом должна быть Dll2.dll. Ничего больше не нужно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы