Estoy tratando de extender cierta aplicación. Estoy usando un archivo DLL que viene incluido con esa aplicación para ampliar su funcionalidad. Estoy usando Visual Studio 2010 Express Edition. Agregué una referencia a la biblioteca dll. En las propiedades de referencia, la opción "Copiar local" está desactivada. (En gris) ¿por qué? Quiero que Visual Studio copie el dll a mi carpeta de lanzamiento. Si esto no se puede hacer ¿hay alguna otra manera de agrupar el dll?visual studio copia dll se refiere a la carpeta de salida
Respuesta
su comentario Hans respuesta indica que se trata de un montaje de COM y que está utilizando Visual Studio 2010.
Esto significa que la referencia de ensamblado probablemente fue añadido con los "Tipos de interoperabilidad Insertar" Configuración establecidas en true. Esto tiene el efecto de vincular el ensamblado COM en su binario eliminando la necesidad de implementarlo por completo. El siguiente enlace tiene una explicación más detallada
Si desea implementar él sin embargo a continuación, tendrá que hacer lo siguiente
- Haga clic en la referencia en la pestaña referencias
- Pulse F4 para mostrar la cuadrícula de propiedades
- Establezca "Insertar tipos de interoperabilidad" en False (esto desgrajará C opiar local)
- Set "Copia Local" true
Depende del tipo de DLL que sea. Si es un servidor COM, Copy Local está desactivado cuando tiene un PIA registrado para ese servidor COM. Si se trata de un ensamblado .NET regular, se desactivará cuando se registre en el GAC.
Solucione el problema, respectivamente, utilizando regasm/u para anular el registro del PIA o gacutil/u para eliminarlo del GAC. Tenga en cuenta que es posible que no desee hacer esto si esta DLL requiere que su instalador se ejecute en la máquina de destino. Lo cual es probable Hable con el vendedor o el autor del componente para averiguar qué debe hacer.
- 1. Visual Studio: DLL dependientes de copia de destino de carpeta
- 2. ¿Cuándo copia Eclipse los recursos a la carpeta de salida?
- 3. Proyecto Visual Studio 2010 C++ DLL - ¡Sin archivo DLL de salida!
- 4. Por qué la DLL nativa no se copia en el directorio de salida
- 5. Visual Studio 2008 Salida - Hide DLL se carga y se descarga
- 6. ¿Para qué se utiliza la carpeta App_Data en Visual Studio?
- 7. Visual Studio Test Project - No copia la carpeta en la implementación
- 8. Visual Studio 2008 - Mover archivos en la compilación a bin/
- 9. Almacenamiento de referencia DLL en la carpeta solución de Visual Studio
- 10. ¿Se puede ver la salida de OutputDebugString en la ventana de salida de Visual Studio?
- 11. Ruta de salida para construir en visual studio 2010
- 12. Visual Studio 2008 bloquea dll en la carpeta bin y no lo suelta
- 13. Carpeta ReflectedSchemas en la carpeta AppData del usuario (Visual Studio)
- 14. Vinculación de dll en Visual Studio
- 15. Cómo copiar las dependencias del ensamblado al que se hace referencia a la carpeta del bin de salida de ASP.NET?
- 16. Visual Studio: ¿enviar archivos de "contenido" al directorio de salida en lugar de a un subdirectorio?
- 17. Evite copiar DLL de terceros en la carpeta de depuración
- 18. Visual Studio 11 y manejo msvcr110.dll
- 19. visual studio 2010 no se puede iniciar el programa .dll
- 20. Salida de construcción coloreada en Visual Studio
- 21. Usando .dll en Visual Studio 2010 C++
- 22. ¿Cómo se crea una DLL COM en Visual Studio 2008?
- 23. Visual Studio: DLL diferentes para configuraciones
- 24. ¿Para qué se genera la carpeta obj?
- 25. WebSocket escalabilidad, la radiodifusión se refiere a
- 26. ¿Por qué no puede Visual Studio encontrar mi DLL?
- 27. Agregando controles personalizados dll a Visual Studio ToolBox
- 28. ¿A qué se refiere `this`?
- 29. Desactivar la copia del texto vacío en Visual Studio
- 30. ¿Puede Visual Studio compilar referencias de proyectos en una carpeta diferente a la principal .exe
Es un montaje de COM (I puede ver que aparece en la ficha COM en Visual Studio añadir refrence añadir refrence de diálogo). ¿Cómo puedo encontrar el camino de la asamblea que necesito proporcionar a regasm? La ruta de acceso que se muestra junto a ella en Visual Studio es project \ obj \ x86 \ Release \ Interop.lbname.dll. Siempre que la ruta se ejecute correctamente, pero todavía tengo el mismo problema. – user434541
Es difícil dar sentido a eso. project \ obj \ x86 \ release no es una ruta válida para un ensamblado de interoperabilidad. Tampoco debería aparecer en el cuadro de diálogo Agregar referencia. Y no usa regasm.exe en un servidor COM nativo, solo en uno que se implementó en .NET. En ese caso, debe usarlo tal como está, no como un servidor COM. Habla con tu vendedor. –