Я пытаюсь использовать C# dll в C++. Я разработал C# dll.с использованием C# dll в C++
Я пытался добавить его в качестве ссылки на C++ файл, он показал предупреждение в
Не удалось добавить ссылку
- Цели более позднюю версию платформы .NET Framework
- Не .Net сборка
- Не зарегистрированное управление ActiveX
поэтому я добавил DLL, как следующие в моей C++ файл обертки. Я смог получить доступ к классам, присутствующим в C# dll.
#using <C:\Users\New\Documents\Visual Studio 2015\Projects\ClassLibrary1\ClassLibrary1\bin\Debug\ClassLibrary1.dll>
using namespace csharp; //namespace in which managed class is present
#include "Header.h"
extern "C"
{
__declspec(dllexport) int func()
{
managedClass^ r = gcnew managedClass();
someClass^s = gcnew someClass();
s->name = "xyz";
return r->getString(s);
}
}
Затем я импортировал обертка DLL на C++ консольное приложение следующим
#include <iostream>
#include <Windows.h>
#pragma comment(lib,"C:\\Users\\New\\Documents\\Visual Studio 2015\\Projects\\C++Wrapper\\Debug\\C++Wrapper.lib")
#include <C:\Users\New\Documents\Visual Studio 2015\Projects\C++Wrapper\C++Wrapper\Header.h>
void main()
{
int result = func();
std::cout << result;
getchar();
}
Но я получаю ошибку следующим образом:
Необработанное исключение в 0x7479D928 (KernelBase.dll) в C++ ClientPro.exe: 0xE0434352 (параметры: 0x80070002, 0x00000000, 0x00000000, 0x00000000, 0x73790000).
У меня такая же ошибка, когда я пытаюсь загрузить DLL с помощью функции LoadLibrary (libpath).
Когда я искал эту ошибку, я узнал, что не смог найти файл. На каком этапе я ошибся. Что мне нужно исправить, чтобы использовать C# dll в C++?
Редактировать
1) Я отредактировал свой файл оболочки C++. Я хочу создать экземпляр для класса в C# dll, а также передать его как параметр функции в одну и ту же DLL.
Вот почему я не пошел на другой метод, в котором мы могли экспортировать только функции с использованием открытого интерфейса, мы не смогли бы получить доступ к классам.
2) Я включил/clr в своих проектах.
Возможный дубликат - http://stackoverflow.com/questions/778590/calling-c-sharp-code-from-c – ChrisF
Возможный дубликат [Вы можете вызвать C# DLL из библиотеки DLL?] (Http://stackoverflow.com/questions/728325/can-you-call-ac-sharp-dll-from-ac-dll) – Zippy
Эти ссылки не помогли. Я не знаю, знаю ли я их использовать. Я отредактировал мой вопрос. Будут ли ссылки по-прежнему помогать? – Fresher