tag propiedad documentar codigo c# visual-studio assemblies

c# - propiedad - Error: la referencia al tipo afirma que está definido, pero no se pudo encontrar



propiedad tag c# (8)

Tengo una solución con 3 proyectos:

  • ParsersBase, que define una interfaz IParseRule
  • ParsersLibrary, que tiene una referencia a ParsersBase y define una clase HtmlImageUrlParseRule: IParseRule
  • ParsersLibraryTest, que tiene una referencia a ParsersBase y ParsersLibrary y define una clase de prueba con algunos métodos de prueba

Cuando intento construirlo, recibo una advertencia:

La referencia al tipo ''AVSoft.ParsersBase.IParseRule'' indica que está definida en ''c: / Users / Tim / Dropbox / projects / Image Downloader / ParsersLibrary / bin / Debug / ParsersLibrary.dll'', pero no se pudo encontrar.

¿Por qué VS está tratando de encontrar AVSoft.ParsersBase.IParseRule en ParsersLibrary.dll? ParsersLibraryTest tiene una referencia a ParsersBase, simplemente no tiene ningún sentido.


Este error parece abarcar una variedad de escenarios. En mi caso, cerrar y volver a abrir Visual Studio fue el truco. Después de reiniciar Visual Studio, pude construir el proyecto como se esperaba.


Fue mi culpa, tuve un proyecto ParsersLibrary al principio y luego lo renombré a ParsersBase, pero no cambié el nombre de un ensamblado, luego agregué un proyecto ParsersLibrary nuevamente.

Entonces, dos proyectos tenían el mismo nombre de montaje y no es muy bueno, ¿o sí? :) Las asambleas se superponen, así que tengo este error.


Intenté todas las respuestas anteriores, pero ninguna resolvió mi problema.

Al final, verifiqué mi último código (GIT), luego recloné el repositorio en una ubicación diferente.

No es ideal, pero al menos es un problema resuelto.


Llegué a esta excepción hoy. El problema en mi caso era que tenía instalado some.package v2.1 en mi host y some.package v2.3 instalado en otros proyectos. Update-Package en el proyecto de host a v2.3 solucionó el problema.


Otra forma en que esto podría suceder es si está utilizando varios paquetes NuGet donde se ha actualizado un paquete, probablemente central, pero no se han agregado algunos paquetes de funcionalidad adicionales.

Para trabajar con mi ejemplo reciente, el error fue "Referencia al tipo ''ConsumerSubscriptionConfigurator <>'' afirma que está definido en ''MassTransit'', pero no se pudo encontrar". Esto se debe a que hemos actualizado MassTransit de 2 a 3, pero no hemos actualizado algunos de los otros paquetes opcionales ( MassTransit.log4net y MassTransit.Autofac ) con el mismo número de versión. Parece como si la redirección de ensamblaje hubiera mantenido todo funcionando hasta que tratamos de usar una característica adicional más.


ParsersLibraryTest necesita hacer referencia a ParsersBase. La segunda parte del error debería decir "Debe agregar una referencia al ensamblado ''ParsersBase ..."


Tuve el problema similar: la referencia al tipo ''Func <>'' dice que está definido en ''mscorlib'', pero no se pudo encontrar. El problema era el siguiente: mi solución tenía Target Framework = 3.5 y agregué una referencia a Microsoft.Practices.Prism v 4.0 que está construida contra el framework 4.0.

Después de cambiar el marco de destino a 4.0, funcionó


Tuve un problema similar. El sitio estaba ejecutando una versión almacenada en caché de la DLL y no la que había implementado en el directorio bin. Borre los contenidos de la carpeta temporal asp.net y esto resolvió el problema.