visual studio referencias referencia references net encuentra como agregar .net dll reference dependencies managed-c++

.net - referencias - visual studio add reference to project



No se pudo cargar el archivo o ensamblado ''***. Dll'' o una de sus dependencias (10)

o una de sus dependencias

Ese es el problema habitual, no se puede ver la falta de una DLL no administrada con Fuslogvw.exe. Lo mejor que se puede hacer es ejecutar la utilidad ProcMon de SysInternals. Lo verá buscando la DLL y no la encontrará. Modo de perfil en Dependencia Walker puede mostrarlo también.

Tengo este dll que creé hace mucho tiempo y uso para conectarme al DB de un software específico para el que desarrollo. No he tenido problemas durante más de 4 años e innumerables aplicaciones con este dll.

Al intentar implementar mi última creación, aparece el siguiente error:

System.IO.FileNotFoundException: Could not load file or assembly ''***.dll'' or one of its dependencies. The specified module could not be found.

Entonces, por cada dll que escribí, siempre hice una aplicación de formularios simple para probar esa dll por sí misma. Ejecutar esa aplicación simple produjo el mismo error. El dll no carga ni usa nada más que: System, System.Data, System.XML. Entonces, en cuanto a las dependencias de esto, no veo nada malo.

Por cierto, todo funciona en una estación de desarrollo. El problema está limitado a las estaciones de implementación. .Net y los redistribuibles necesarios, ya que hago todo en C ++, están desplegados y funcionando.

La ejecución de FUSLOGVW.exe mostró que todo funcionaba bien.

Running depends.exe dijo: Advertencia: Al menos un módulo tiene una importación no resuelta debido a una función de exportación faltante en un módulo dependiente de la carga de retraso.

Ya intenté reescribir todo. Lo cual arrojó los mismos resultados.

Pistas a alguien?

EDITS

Aquí está el mensaje de error total:

See the end of this message for details on invoking /" just-in-time (JIT) debugging instead of this dialog box./" ************** Exception Text **************/" System.IO.FileNotFoundException: Could not load file or assembly ''connectionTo.dll'' or one of its dependencies. The specified module could not be found./" File name: ''connectionToJobboss32.dll''/" at TESTConnection.Form1.button1_Click(Object sender, EventArgs e)/" at System.Windows.Forms.Control.OnClick(EventArgs e)/" at System.Windows.Forms.Button.OnClick(EventArgs e)/" at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)/" at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)/" at System.Windows.Forms.Control.WndProc(Message& m)/" at System.Windows.Forms.ButtonBase.WndProc(Message& m)/" at System.Windows.Forms.Button.WndProc(Message& m)/" at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)/" at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)/" at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)/" /" ************** Loaded Assemblies **************/" mscorlib/" Assembly Version: 4.0.0.0/" Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)/" CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll/" ----------------------------------------/" TESTConnection/" Assembly Version: 1.0.3996.18980/" Win32 Version: /" CodeBase: file:///C:/Program%20Files%20(x86)/conn/TESTConnection.exe/" ----------------------------------------/" System.Windows.Forms/" Assembly Version: 4.0.0.0/" Win32 Version: 4.0.30319.1 built by: RTMRel/" CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll/" ----------------------------------------/" System.Drawing/" Assembly Version: 4.0.0.0/" Win32 Version: 4.0.30319.1 built by: RTMRel/" CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll/" ----------------------------------------/" System/" Assembly Version: 4.0.0.0/" Win32 Version: 4.0.30319.1 built by: RTMRel/" CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll/" ----------------------------------------/"

No hay errores en el visor de eventos.


1) Copie las DLL desde "Externals / ffmpeg / bin" al directorio de salida de su proyecto (donde permanece el ejecutable); 2) Asegúrese de que su proyecto esté construido para el objetivo x86 (se ejecuta en modo de 32 bits).

Sigue este hilo para más


Esta respuesta no tiene ninguna relación con la situación del OP, y es un escenario muy improbable para cualquier otra persona, pero en caso de que pueda ayudar a alguien ...

En mi caso, estaba obteniendo "No se pudo cargar el archivo o ensamblado ''System.Windows.Forms, Version = 4.0.0.0 ..." porque había desmontado y vuelto a ensamblar el programa usando ILDAsm.exe y ILAsm.exe desde .Net Framework / SDK versión 2. Al cambiar a ILDAsm.exe e ILAsm.exe desde .Net Framework / SDK versión 4 se solucionó el problema.

(Extrañamente, a pesar de que hacer lo que hice puede parecer un error obvio, el archivo EXE resultante que no funcionó indicaba que apuntaba a .Net 4 cuando se lo examinaba con JetBrains dotPeek).


Hace poco abordé este problema, la aplicación correría bien en las máquinas de desarrollo y selecciona otras máquinas, pero no en las instaladas recientemente. Resultó que las máquinas en las que sí funcionaban tenían instalado Visual C ++ 11 Runtime, mientras que las máquinas recién instaladas no funcionaban. Agregar el Visual C ++ 11 Runtime redistribuible para el instalador de la aplicación solucionó el problema ...


Me encontré con esto recientemente. Resultó que la DLL anterior se compiló con una versión anterior (Visual Studio 2008) y hacía referencia a esa versión de las bibliotecas dinámicas de tiempo de ejecución. Intentaba ejecutarlo en un sistema que solo tenía .NET 4.0 y nunca había instalado ninguna biblioteca dinámica en tiempo de ejecución. ¿La solución? Recompuse la DLL para vincular las bibliotecas de tiempo de ejecución estáticas.

Verifique el registro de errores de su aplicación en el Visor de eventos (EVENTVWR.EXE). Le dará más información sobre el error y probablemente le indique la verdadera causa del problema.


Tuve el mismo problema con un dll ayer y todo lo que hizo referencia fue System, System.Data y System.Xml. Resulta que la configuración de compilación para el tipo de plataforma no se alineó. El dll fue desarrollado para x86 y el programa que lo usó fue "Cualquier CPU" y como estoy ejecutando una máquina x64, ejecutó el programa como x64 y tuvo problemas con la x86 dll. No sé si este es su problema o no, solo pensé que lo mencionaría como algo más que comprobar.


Tuve el mismo problema y lo resolvió asegurándome de que los proyectos en la solución tengan la misma configuración y plataforma (en mi caso fue Debug x64). De alguna manera, el VIsual Studio faltaba x64 para parte de los proyectos y edité el archivo .sln de forma manual (copié las configuraciones y las plataformas de los proyectos correctamente construidos a los proyectos que me faltaban las configuraciones que necesitaba). Esto es lo que parece para uno de los proyectos:

{1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Debug|Any CPU.Build.0 = Debug|Any CPU {1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Debug|x64.ActiveCfg = Debug|x64 {1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Debug|x64.Build.0 = Debug|x64 {1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Release|Any CPU.ActiveCfg = Release|Any CPU {1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Release|Any CPU.Build.0 = Release|Any CPU {1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Release|x64.ActiveCfg = Release|x64 {1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Release|x64.Build.0 = Release|x64

Pero luego ocurrió el mismo error para un proyecto que tenía un archivo Java (* .jar) en las dependencias. Tuve que editar las variables de entorno manualmente para crear un registro con este valor

C: / Archivos de programa / Java / jre1.8.0_171 / bin / server

para la ruta de Java, y colóquela encima de los elementos de la ruta.

Esto solucionó el problema hasta que actualicé Java en mi máquina. Tuve que editar el número de versión en Variables de entorno para que coincida con el nombre de la carpeta actualizada.

C: / Archivos de programa / Java / jre1.8.0_181 / bin / server


Tuve el mismo problema: un .dll funcionando todo el tiempo, luego mi computadora se colgó y luego tuve este problema de ''could not load file or assembly ... dll''

Dos posibles soluciones: cuando la computadora se cuelga puede haber algunos archivos inconsistentes en

C:/Users/<yourUserName>/AppData/Local/Temp/Temporary ASP.NET Files

Borrando esa carpeta, recompilando y el error desapareció.

Una vez también tuve que eliminar mi carpeta de paquetes (la había leído en otro lugar). Permita que Visual Studio / Nuget instale los paquetes faltantes (o reinstale manualmente) y luego todo vuelva a funcionar bien.


Una manera más fácil de determinar qué dependencias tiene una DLL nativa es usar Dependency Walker - http://www.dependencywalker.com/

Analicé la DLL nativa y descubrí que dependía de MSVCR120.DLL y MSVCP120.DLL, que no estaban instalados en mi servidor de transferencia en el directorio System32. Instalé el tiempo de ejecución C ++ en mi servidor de transferencia y el problema se resolvió.


Yo tuve el mismo problema. Para mí, fue causada por la configuración predeterminada en el servidor IIS local en mi máquina. Entonces, la manera más fácil de solucionarlo fue usar el servidor de desarrollo de Visual Studio incorporado :)

Las versiones más nuevas de IIS en máquinas x64 tienen una configuración que no permite que las aplicaciones de 32 bits se ejecuten de manera predeterminada. Para habilitar aplicaciones de 32 bits en el IIS local, seleccione el grupo de aplicaciones relevante en el administrador de IIS, haga clic en "Configuración avanzada" y cambie "Habilitar aplicaciones de 32 bits" de False a True