SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: netyweb en Miércoles 31 de Octubre de 2007, 14:28

Título: Acceso Desde C# A Dll Compilada En Gcc
Publicado por: netyweb en Miércoles 31 de Octubre de 2007, 14:28
Hola a todos.

He visto en la documentacion de MinGW cómo se crea una DLL.
web: www.mingw.org/docs.shtml (http://www.mingw.org/docs.shtml)

Estaba pensando en crear una DLL accesible desde C#.

He empezado creando el codigo con Dev-Cpp y despues compilando como dice en la documentacion anteriormente citada.

Despues, a lo bestia, he ido a abrir un proyecto de consola en C# y al agregar referencia
eligo la dll que se ha creado de la compilacion anterior.

Al aceptar me dice que No se puede agregar referencia(...) y que me asegure de tener acceso al archivo y de que es un ensamblado o componente COM valido.

La duda está en si se puede utilizar la dll(hecha con Dev-cpp) como he hecho antes y acceder a ella desde C# pero haciendolo bien, sin el error que me sale, o hay que reescribirla creando una version de dll en C# para que pueda ser accesible desde el mismo C#?


Muchas gracias, y salu2
Título: Re: Acceso Desde C# A Dll Compilada En Gcc
Publicado por: JuanK en Jueves 1 de Noviembre de 2007, 13:53
si puedes pero no agrgandola como referencia.

Utiliza esta técnica:
Código: Text
  1.  
  2. [DllImport("CoreDll.DLL")]
  3. private static extern int CreateProcess(
  4.     String imageName,
  5.     String cmdLine,
  6.     int lpProcessAttributes,
  7.     int lpThreadAttributes,
  8.     Int32 boolInheritHandles,
  9.     Int32 dwCreationFlags,
  10.     int lpEnvironment,
  11.     int lpszCurrentDir,
  12.     int si,
  13.     int pi);
  14. //
  15. public static void Execute(String exeName, String cmdLine)
  16. {
  17.     CreateProcess(exeName, cmdLine, 0, 0, 0, 0, 0, 0, 0, 0);
  18. }
  19. public static void Execute(String exeName)
  20. {
  21.     //CreateProcess(exeName, "", 0, 0, 0, 0, 0, 0, 0, 0);
  22.     Execute(exeName, "");
  23. }
  24.  

en este mismo foro encontraras varios hilos que toman el tema.
Título: Re: Acceso Desde C# A Dll Compilada En Gcc
Publicado por: netyweb en Viernes 2 de Noviembre de 2007, 17:37
Gracias por la respuesta.

He encontrado aqui: www.codeproject.com/csharp/usecdlllibincs.asp (http://www.codeproject.com/csharp/usecdlllibincs.asp)

una solucion mas precisa de lo que buscaba y me lo ha solucionado.

De todas maneras tomo nota de tu propuesta.

Gracias, salu2