Tengo un C#
dll. El código es el siguiente:Llamada C# dll función de C++/CLI
public class Calculate
{
public static int GetResult(int arg1, int arg2)
{
return arg1 + arg2;
}
public static string GetResult(string arg1, string arg2)
{
return arg1 + " " + arg2;
}
public static float GetResult(float arg1, float arg2)
{
return arg1 + arg2;
}
public Calculate()
{
}
}
Ahora, tengo la intención de llamar a este DLL desde C++
en este camino.
[DllImport("CalculationC.dll",EntryPoint="Calculate", CallingConvention=CallingConvention::ThisCall)]
extern void Calculate();
[DllImport("CalculationC.dll",EntryPoint="GetResult", CallingConvention=CallingConvention::ThisCall)]
extern int GetResult(int arg1, int arg2);
Aquí es donde la función se llama GetResult
private: System::Void CalculateResult(int arg1, int arg2)
{
int rez=0;
//Call C++ function from dll
Calculate calculate=new Calculate();
rez=GetResult(arg1,arg2);
}
Tengo el error: "error de sintaxis: identificador 'Calcular'". ¿Alguien puede ayudarme con este terrible error?
Si está utilizando CLI de C++, ¿por qué no solo hace referencia directamente al ensamblado de C#? DllImport está destinado a permitirle llamar a dll no administradas desde el código administrado – santiagoIT
Estoy confundido con Visual Studio C++. ¿Puede sugerirme cómo agregar una referencia a mi dll correctamente en el proyecto VS2010 C++. Intenté con Assembly.LoadFile sin ningún éxito. –
Parece que se olvidó de aceptar la respuesta –