Sé que hay otra pregunta con exactamente el mismo problema, pero revisé todas esas respuestas y ninguna me ayudó. :( ( Esta era la pregunta ) .
Acabo de crear un nuevo proyecto ASP.NET MVC y me uní a algunos '.dll's en la solución. Ahora, cuando intento construir el proyecto, aparece el mensaje de error que se muestra a continuación en 3 de las 5 bibliotecas.
Error CS0006 Metadata file 'C:\Users\...\source\Database\bin\Debug\DataAccessLayer.dll' could not be found Logic C:\Users\...\source\Logic\CSC 1 Active
Error CS0006 Metadata file 'C:\Users\...\source\Logic\bin\Debug\Logic.dll' could not be found PTS2-MVC C:\Users\...\source\PTS2-MVC\CSC 1 Active
Error CS0006 Metadata file 'C:\Users\...\source\PTS2-MVC\bin\PTS2-MVC.dll' could not be found PTS2-MVC.Tests C:\Users\...\source\PTS2-MVC.Tests\CSC 1 Active
Cuando voy a la carpeta bin \ debug de ese .dll, veo que está vacío, y el otro .dll donde no obtengo un mensaje de error, no está vacío. Pero no tengo ni idea de cómo solucionar esto o qué hice para que esto sucediera.
La respuesta más común es ir a las propiedades de la solución e ir a configuración y desmarcar -> aplicar -> marcar y aplicar nuevamente, pero eso no funcionó
c#
asp.net-mvc
metadata
visual-studio-2017
Svenmarim
fuente
fuente
Respuestas:
El problema era que tenía algunos otros mensajes de error normales en mi proyecto, y aparentemente después de que los arreglé y cuando limpié y construí mi proyecto OTRA VEZ, todos los archivos .dll tuvieron éxito.
Asegúrese de no tener ningún otro mensaje de error en su proyecto y, si lo tiene, ¡corríjalos primero!
fuente
Pasos para corregir este error: No se pudo encontrar el archivo .dll de metadatos.
Limpiar todos los proyectos.
Descargar todos los proyectos.
Recargar todos los proyectos.
ReBuild Solution.
Entonces problema resuelto.
fuente
En mi caso, hubo un error, pero VS no lo analizó correctamente y no se mostró en la ventana "Lista de errores". Para encontrarlo, puede ver el "Resultado" de la ventana de compilación y analizar los mensajes comenzando de arriba hacia abajo y resolver el error real. M $, ¡por favor arregle! Esta es una gran pérdida de tiempo para los desarrolladores colectivos del mundo.
fuente
Verifique el nombre de la carpeta de su proyecto. En mi caso, mi carpeta de proyecto se nombró con espacios. Cuando cloné el proyecto de Team Foundation Server usando git bash, los espacios en el nombre de la carpeta se convirtieron a: "% 20". Cambiar esos de nuevo a espacios solucionó el problema para mí.
fuente
Tuve este problema con una solución que contenía varios proyectos.
Provino de duplicar un .csproj y agregar la copia a la solución. Un archivo .csproj contiene un
<ProjectGuid>
elemento. Configuré el GUID del proyecto copiado en uno nuevo.Actualización: el GUID que use no importa, solo debe ser diferente del GUID del otro proyecto. Puede crear un nuevo GUID desde Visual Studio:
Tools -> Create GUID
y copiar la parte entre las llaves, es decir{...}
. Úselo como el nuevo valor para el<ProjectGuid>
elemento.También realicé los siguientes pasos (no necesariamente necesarios, pero no duelen):
fuente
Soluciono este problema siguiendo estos pasos:
fuente
Tengo el mismo problema, el problema fue que la ruta de la solución tiene espacios en el nombre y, por alguna razón, no resuelve el paquete ... descargue mi repositorio nuevamente simplemente cambiando el nombre de la solución sin espacios en el nombre.
p.ej:
debiera ser
fuente
%20
en el nombre de la carpeta.Para mí, la limpieza y la construcción no funcionaron. La descarga del proyecto no funcionó. Reiniciar Visual Studio o incluso la PC no funcionó. Esto es lo que funcionó:
Vaya a cada uno de los proyectos que están arrojando el error, y en Referencias, elimine la referencia al proyecto problemático y vuelva a agregarlo. Eso resuelve el problema.
El problema parece estar relacionado con mover un proyecto (Moverlo dentro de una carpeta, por ejemplo), luego un proyecto diferente que hace referencia a él, tiene su ruta incorrecta y no puede encontrarlo.
fuente
Tuve el mismo problema, incluso sin que aparecieran otros errores en la vista "Lista de errores" después de "Reconstruir solución". Sin embargo, en la vista "Salida", vi el error que estaba detrás del problema:
La referencia principal "C: ... \ myproj.dll" no se pudo resolver porque se creó en el marco ".NETFramework, Version = v4.6.1". Esta es una versión superior a la del marco de trabajo actual ".NETFramework, Version = v4.5"
Una vez que corrigí esto, el problema se resolvió.
fuente
Otra cosa que debe verificar es el marco de destino de cualquier proyecto referenciado para asegurarse de que el proyecto de llamada esté utilizando la misma versión o una versión posterior del marco.
Tuve este problema, probé todas las respuestas sugeridas anteriormente y luego, por una corazonada, verifiqué los marcos. Uno de los proyectos a los que se hace referencia fue la orientación 4.6.1 cuando el proyecto de llamada era solo 4.5.2.
fuente
Ejecutar este comando en bash para eliminar todos los contenedores funcionó para mí
$ find . -iname "bin" -o -iname "obj" | xargs rm -rf
Sin embargo, no puedo garantizar que funcione para nadie más
También tenga en cuenta que eliminará todos los archivos bin, por lo que tendrá que reconstruir todos los proyectos. Obviamente, es mejor hacer cd en el directorio relevante antes de usarlo.
fuente
La limpieza de mi solución causó este problema con Visual Studio 2017. La descarga / recarga de proyectos o más limpieza no hizo ninguna diferencia. Lo único que funcionó fue cerrar y reiniciar Visual Studio.
fuente
Compruebe que todos los proyectos estén cargados. En mi caso, uno de los proyectos se descargó y volver a cargar el proyecto borra los errores.
fuente
En mi caso, tuve que abrir el archivo .csproj y agregar la referencia a mano, así (faltaba Microsoft.Extensions.Identity.Stores.dll):
<Reference Include="Microsoft.Extensions.Identity.Stores"> <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.identity.stores\2.0.1\lib\netstandard2.0\Microsoft.Extensions.Identity.Stores.dll</HintPath> </Reference>
fuente
Cierre Visual Studio, busque el archivo .suo de la solución, elimínelo y vuelva a abrir Visual Studio.
fuente
Lo que funcionó para mí:
Consola del administrador de paquetes (Visual Studio 2019 Comunity):
Reconstruir la solución.
fuente
En mi caso, estaba enfrentando el mismo error. Una de las soluciones de mi proyecto fue referir un ensamblado desde una ubicación diferente de NuGet. Lo cambié a la ubicación correcta para resolver este error y reconstruir. y wow, el proyecto se compila con éxito y todos los demás errores desaparecen.
fuente
Tuve este mismo error. En mi caso, había creado una biblioteca (llámela commsLibrary) que hacía referencia a otras bibliotecas al incluirlas como proyectos en mi solución. Más tarde, cuando construí un proyecto y agregué mi commsLibrary , cada vez que lo compilaba , obtenía el error de no se puede encontrar el archivo de metadatos. Así que agregué las bibliotecas a las que mi biblioteca de comunicaciones hacía referencia al proyecto actual y luego se pudo construir.
fuente
Después de enfrentar tantos problemas, aquí está la solución que encontré.
abra ese archivo en cualquier editor de texto y busque el archivo ItemGroup que falta.
<ItemGroup> <None Include="..." /> </ItemGroup>
elimine ese ItemGroup y abra una vez más su proyecto y compile
fuente
Tuve el mismo problema y probé las soluciones del archivo de metadatos '.dll' que no se pudieron encontrar
pero ninguno de estos funcionó.
Entonces, después de prueba y error, lo arreglé descargando y volviendo a cargar el proyecto, restableciendo el archivo de configuración y solucionando el problema.
fuente
He creado 10 proyectos de 25 proyectos en solución individualmente uno por uno según las dependencias. Luego construye la solución. Me arregló
fuente
Tuve el mismo problema. Mi problema fue que alguien más en el equipo movió una carpeta de la clase y el proyecto la estaba buscando.
Para mí, hubo 44 errores; 43 terminó en .dll (buscando una dependencia) y el primero en la lista de errores terminó en .cs (buscando la clase real). Intenté limpiar, limpiar, descargar, recargar, construir, pero nada funcionó. Terminé ubicando la clase en el proyecto y simplemente la eliminé, ya que de todos modos aparecía como no disponible, seguida de una construcción limpia.
¡Eso me sirvió! Espero que esto ayude.
fuente
Tenía 2 archivos (y 2 clases) en el mismo proyecto con el mismo nombre.
fuente
En mi caso, eliminé un archivo directamente del menú git del explorador del equipo que estaba causando este problema. Cuando verifiqué el explorador de soluciones, todavía mostraba el archivo eliminado como archivo sin referencia. Cuando eliminé ese archivo del explorador de soluciones, pude construir el proyecto con éxito.
fuente
Para mí lo que funcionó fue:
Desinstale y vuelva a instalar el paquete Nuget al que se hace referencia que tiene el error.
fuente
En mi caso ejecuté las pruebas y obtuve el error CS0006. Resultó que ejecuto pruebas en modo de lanzamiento. Cambiar al modo de depuración solucionó este error.
fuente
Este problema ocurre cuando cambia el nombre de su solución y el marco .net no puede encontrar la solución anterior.
Para resolver esto, debe buscar y reemplazar el nombre anterior de la solución y todas las dependencias con el nuevo nombre. Si necesita examinar el archivo físico a través del explorador de archivos, hágalo.
Los archivos que normalmente se ven afectados son
AssemblyInfo.cs
,.sln
unProperties > Application > Assembly
nombre y espacio de nombres por defecto. Asegúrese de actualizarlos con el nuevo nombre.Abra el explorador de archivos, si la carpeta con el nombre anterior aún existe, debe eliminarla. Luego limpie y cree la solución hasta que desaparezca el error. (Si es necesario, limpie y construya el proyecto uno por uno, especialmente el proyecto afectado).
fuente
En mi caso, el problema era que estaba haciendo referencia a un proyecto en el que comenté todos los
.cs
archivos.Por ejemplo, ProjectApp hace referencia a ProjectUtility. En ProjectUtility solo tenía 1
.cs
archivo. Ya no lo estaba usando, así que comenté todo el archivo. En ProjectApp no estaba llamando a ninguno de los códigos de ProjectUtility, pero teníausing ProjectUtility;
uno de los.cs
archivos de ProjectApp . El único error que obtuve del compilador fue el error CS0006 .Descomenté el
.cs
archivo en ProjectUtility y el error desapareció. Por lo tanto, no estoy seguro de si no tener código en un proyecto hace que el compilador cree un ensamblado no válido o no genere la DLL en absoluto. La solución para mí fue simplemente eliminar la referencia a ProjectUtility en lugar de comentar todo el código.En caso de que se pregunte por qué comenté todo el código del proyecto referenciado en lugar de eliminar la referencia, lo hice porque estaba probando algo y no quería modificar el
ProjectApp.csproj
archivo.fuente