Autor Tema: System.DIINotFoundException: No se puede cargar el archivo DLL coredll.dll  (Leído 4419 veces)

diana.ss

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Hola a todos, verán, estoy haciendo un pequeño programa en C# que me devuelva el ID y el Serial de los dispositivos conectados en los puertos USB sin importar el tipo (no solo memorias), encontré una solución en la página oficial: https://msdn.microsoft.com/es-es/library/ms172516(v=vs.90).aspx , el problema es que mi Visual Basic (o tal vez mi código) no detectan el Core.dll ni el Coredll.dll aun cuando ya los tengo añadidos a la referencia y en mi importación "using" escribo el nombre correcto.

El error que me sale es el siguiente:

"El tipo o el nombre del espacio de nombres 'Core' no existe en el espacio de nombres 'System' (¿falta una referencia de ensamblado?)"

y en el DLL import [DllImport("coredll.dll", SetLastError = true)] ya eh especificado la ruta completa y no me permite entrar y me muestra el error que dejo en la imagen adjunta.

Por favor ayúdenme :'( :'( :'( :'( :'( :'( :(


ERROR: System.DIINotFoundException: No se puede cargar el archivo DLL coredll.dll
« Última modificación: 20 de Mayo 2016, 22:53 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola! Con esto puede haber un "pequeño problema". Tendrás que instalar el paquete Microsoft Visual C++ 2102 Redistributable en cada ordenador donde quieras ejecutar este código. El problema está en que existen dependencias como entradas de registro, ficheros de configuración, etc. que deben estar presentes en el ordenador donde ejecutes el código. Es decir, no te basta con tener solo el DLL, te hace falta todo el paquete instalado

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

diana.ss

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Hola, muchas gracias por responder mi pregunta, he instalado el Redistributable de Visual c++, pero ahora me marca este error:

System.EntryPointNotFoundException: No se puede encontrar el punto de entrada denominado kernelIoControl en el archivo DLL 'coredll.dll'

Para ello, tengo mi codigo de la siguiente forma:


       [DllImport("coredll.dll", CallingConvention = CallingConvention.Cdecl)]
       private static extern bool KernelIoControl(Int32 dwIoControlCode,
           IntPtr lpInBuf, Int32 nInBufSize, byte[] lpOutBuf,
           Int32 nOutBufSize, ref Int32 lpBytesReturned);

No entiendo por que el error...  :'( :'(

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".