none
¿Cómo conecto un proyecto de clase a un proyecto web? RRS feed

  • Pregunta

  • Buenos días, necesito conectar un proyecto de clase a un proyecto web, me podrían ayudar? ahí pongo los nombres de los proyectos, gracias.

    Proyecto Clase: cu.gui

    Proyecto web: WebApplication1


    JupaSB

    jueves, 28 de noviembre de 2019 14:51

Todas las respuestas

  • En el Explorador de Soluciones en Visual Studio, busca el proyecto WebApplication1 y debajo fijate en la carpeta "Referencias". Haz click-derecho y selecciona "Agregar Referencia". Navega al sitio donde tengas compilada la libreria cu.gui.dll y agrégala.

    Si no esta compilada, sino que lo que quieres es agregar el código fuente al proyecto, entonces haz click-derecho sobre la Solucion (no sobre el Proyecto) en el Explorador de Soluciones, y selecciona Agregar Proyecto Existente. Navega al proyecto cu.gui y seleccionalo. Despues repite los pasos del parrafo anterior, pero al agregar la Referencia, agrega una referencia al propio proyecto en lugar de a la DLL compilada (es una pestaña distinta en la ventana de añadir referencias).

    Después, cuando quieras hacer llamadas a la librería, acuérdate de que tienes que anteponer el espacio de nombres, bien sea anteponiéndolo a cualquier clase que llames (por ejemplo, cu.gui.miclase) o bien poniendo un using (c#) o Imports (VB.NET) en el fuente que llame a esa clase. Pon el espacio de nombres correcto; suele coincidir con el nombre de la librería (cu.gui) pero esto no es forzoso, los desarrolladores pueden meter espacios de nombres distintos dentro de la librería.

    jueves, 28 de noviembre de 2019 15:13
  • Hola! al intentar tu solución me sale el siguiente error.

    "CreateInstance failed for package [ReferenceManagerPackage]Source: 'mscorlib' Description: No se puede cargar el tipo 'Microsoft.VisualStudio.Shell.Interop.IVsReferenceManager2' del ensamblado'Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
System.TypeLoadException: No se puede cargar el tipo 'Microsoft.VisualStudio.Shell.Interop.IVsReferenceManager2' del ensamblado'Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
   en System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
   en System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
   en System.Activator.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)
   en System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName)"


    JupaSB

    jueves, 28 de noviembre de 2019 15:43
  • Bueno, eso es otra cosa distinta. La pregunta era acerca de cómo usar una librería desde un proyecto. Pero el mero hecho de que la librería se pueda llamar desde el proyecto no significa que la librería mágicamente comience a funcionar si por dentro tiene alguna dependencia que no se ha configurado correctamente.

    En este caso particular, se queja de que no ùede cargar determinado ensamblado, que la DLL está instanciando internamente por reflexión dentro de un AppDomain. Esto tiene que ser analizado y corregido por los desarrolladores de la DLL; no lo puedes arreglar externamente desde el proyecto llamante. Lo único que puedes hacer es tratar de localizar el ensamblado al que hace referencia el mensaje de error y añadirlo a una ubicación desde donde pueda cargarlo la DLL. Pero en estos casos, es habitual que después de eso vuelva a dar otro error porque haya dependencias adicionales que sigan faltando. Es preferible estudiar la documentación de la DLL o consultar a los desarrolladores para ver cuáles son las dependencias e instalarlas correctamente de acuerdo con sus instrucciones.

    jueves, 28 de noviembre de 2019 16:07
  • hola

    >>No se puede cargar el tipo 'Microsoft.VisualStudio.Shell.Interop.IVsReferenceManager

    Que tipo de referencia estas queriendo realizar?

    porque por el mensaje parece ser una libreria COM que referencia mediante la Interop que sirve de intermediaria

    porque referencia a una libreria de VisualStudio.Shell ?

    o sino explica que pasos realizas

    si es un mensaje previo a la referencia intenta ir a las Extension del Visual Studio y actualizar el package manager asi tendras la ultima version, esto si es que intentaste referenciar la libreria usando nuget

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 28 de noviembre de 2019 16:32
  • Hola!, llevo dos semanas intentando realizar este proyecto, soy nuevo en Asp.net y no tengo mucha información, he visto videos y preguntado en varios foros pero no encuentro la manera de solucionar el asunto, nose si alguno de ustedes Leandro o Alberto me puedan ayudar de manera Remota a solucionar el problema que por lo que veo tienen bastante información.

    JupaSB

    • Propuesto como respuesta Jupablacha18 lunes, 2 de diciembre de 2019 14:30
    jueves, 28 de noviembre de 2019 20:03