visual-studio-2008 - microsoft - visual studio 2008 sp1
Archivo de metadatos... no se pudo encontrar el error al construir proyectos (21)
Cada vez que inicio Visual Studio 2008, la primera vez que intento ejecutar el proyecto, aparece el error CS0006. El archivo de metadatos ... no se pudo encontrar. Si hago una reconstrucción de la solución completa, funciona.
Alguna información sobre la solución:
Estoy construyendo en modo de depuración y Visual Studio se queja de no encontrar dll: s en la carpeta de lanzamiento.
Los proyectos de los que se queja Visual Studio son utilizados por muchos otros proyectos en la solución.
Cambié la ruta de salida predeterminada de todos los proyectos a ...... / build / debug / ProjectName y ...... / build / release / ProjectName respectivamente. (Solo para obtener todos los archivos de compilación en un directorio)
Tengo el mismo problema con otra solución.
La solución fue creada desde cero.
Hay 9 proyectos en la solución. Una WPF y 8 bibliotecas de clase usando dotnet 3.5.
¿Alguna idea sobre qué está causando este problema?
EE - En mi caso el problema estaba en el proyecto que tiene el marco Entity, abra el diagrama arrastre cualquier tabla 2 cm :) y guarde, el VS actualizará todos sus enlaces al DB ... construya estos proyectos y construya la solución , Buildssss.
Eliminar las entradas de todos los archivos fuente que ya no están presentes en el control de fuente y el sistema de archivos de su archivo .csproj funcionó para mí.
Enfoque detallado:
Bueno, mi siguiente respuesta no es solo el resumen de todas las soluciones, sino que ofrece más que eso.
Sección 1):
En soluciones generales:
Tuve 4 errores de este tipo ("el archivo de metadatos no se pudo encontrar") junto con 1 error que decía "El archivo de origen no se pudo abrir (''Error no especificado'') ''.
Traté de deshacerme del error "no se pudo encontrar el archivo de metadatos". Para eso, leí muchas publicaciones, blogs, etc. y encontré que estas soluciones pueden ser efectivas (resumiéndolas aquí):
Reinicie VS e intente construir nuevamente.
Ve a ''Solution Explorer'' . Haga clic derecho en la solución. Ir a Propiedades Vaya a ''Administrador de configuración'' . Compruebe si las casillas de verificación debajo de ''Build'' están marcadas o no. Si alguno o todos están desactivados, compruébalos y vuelva a intentar compilar.
Si la (s) solución (es) anterior (es) no funcionan, siga la secuencia mencionada en el paso 2 anterior, e incluso si todas las casillas de verificación están marcadas, desmárquelas, vuelva a verificar e intente compilar de nuevo.
Orden de compilación y dependencias del proyecto:
Ve a ''Solution Explorer'' . Haga clic derecho en la solución. Vaya a ''Dependencias del proyecto ...'' . Verá 2 pestañas: ''Dependencias'' y ''Orden de compilación'' . Este orden de compilación es el que construye la solución. Compruebe las dependencias del proyecto y el orden de compilación para verificar si algún proyecto (digamos ''proyecto1'') que depende de otro (digamos ''proyecto2'') está tratando de compilar antes que ese (proyecto2). Esta podría ser la causa del error.
Compruebe la ruta del .dll perdido:
Compruebe la ruta del .dll faltante. Si la ruta contiene espacio o cualquier otro carácter de ruta no válida, quítelo e intente construir nuevamente.
Si esta es la causa, entonces ajusta el orden de compilación.
Sección 2):
Mi caso particular:
Intenté todos los pasos anteriores con varias permutaciones y combinaciones con reiniciar VS varias veces. Pero, no me ayudó.
Entonces, decidí deshacerme de otro error que me encontraba (''El archivo de origen no se pudo abrir ('' Error no especificado '')'').
Encontré un blog: http://www.anujvarma.com/tfs-errorsource-file-could-not-be-opened-unspecified-error/#comment-1539
Probé los pasos mencionados en ese blog y me deshice del error "El archivo de origen no se pudo abrir" ("error no especificado") y, sorprendentemente, me deshice de otros errores ("el archivo de metadatos no se pudo encontrar") también.
Seccion 3):
Moraleja de la historia:
Pruebe todas las soluciones mencionadas en la sección (1) anterior (y cualquier otra solución) para deshacerse del error. Si nada funciona, según el blog mencionado en la sección (2) anterior, elimine las entradas de todos los archivos fuente que ya no están presentes en el control de fuente y el sistema de archivos de su archivo .csproj .
En mi caso, descubrí que una de las soluciones hacía referencia a algo que no estaba allí en la computadora (VBIDE). Una vez que eliminé la referencia ofensiva, el resto de los proyectos se crearon correctamente. Espero que ayude a alguien.
Y en otra situación, moví un código de un proyecto a otro, y ese fragmento de código hacía referencia a Json.net. Añadí manualmente una referencia a Json.net, pero eso hizo que el problema surgiera. Lo resolví instalando Json.net a través de NuGet y eso hizo que el problema desapareciera. Espero que ayude a alguien.
Esto generalmente es causado por un proyecto al que se hace referencia en una solución diferente a la que arroja el error. Si limpia la otra solución o ramifica el código, lo más probable es que vea este error. La solución es desplazarse hacia abajo en su lista de errores de "metadatos no encontrados" y observar las referencias a los proyectos. 9/10 veces, verá una referencia incompleta a un proyecto que no está en esta solución. Agregue los proyectos para corregir los errores de referencia y reconstruir. Eso debería arreglarlo.
(Acabo de toparme con esto hoy, y lo he hecho en el pasado, y esto SIEMPRE ha funcionado)
Hice todos estos pasos en VS2012, pero me encontré con este problema cuando construí la solución en su totalidad (los proyectos individuales se desarrollaron perfectamente sin errores).
Descubrí que si hace clic con el botón derecho en su Solución en el Explorador de soluciones y selecciona "Crear orden", puede ver el orden que VS está usando para reconstruir su solución. Es probable que esté fuera de control.
Puede corregir el orden de construcción haciendo clic en la pestaña Dependencias y seleccionando los proyectos que dependen de otros proyectos en la solución y verificando los proyectos de los que dependen. Una vez que hagas clic en Aceptar y hagas una reconstrucción de la solución, deberías estar listo para continuar.
La forma en que lo he solucionado en VS2005 y en VS2008 es asegurarme de que todas las dependencias sean correctas y que las referencias apunten a los proyectos, no a los dlls. Luego revise y construya manualmente cada proyecto en orden de dependencia. Una vez que el último compila puede ejecutar una compilación de solución completa y está bien.
Esta respuesta es para referencia futura para otros ya que sé que la pregunta tiene más de 15 meses.
Aclamaciones
Lo único que me solucionó (porque no estoy ejecutando VS2010 en una cuenta de administrador) es mover manualmente la variable de entorno VS120COMNTOOLS de Variables del sistema a Variables de usuario.
Lo mismo sucedió Tengo varias soluciones que hacen referencia a los mismos proyectos de biblioteca (.net 3.5). Me di cuenta de que cuando se creaba una configuración de depuración / normal y otra que usaba otra directiva de compilación (modo sqlite / local), esto ocurría. Simplemente haga que ambos proyectos se desarrollen con las mismas directivas y debería estar bien.
Me quedé atrapado con el problema de guardar cuando quería incluir un archivo dll generado por Matlab. Y finalmente lo resolví copiando un archivo .ctf, que significa certificado supongo, y un .netmodule, que es necesario para el correcto funcionamiento del .dll, junto con el archivo .dll. ¡Y eso realmente funcionó! Entonces, mi sugerencia es verificar si el .dll necesita algún otro archivo para llevarse bien.
Otra cosa para verificar es la longitud de la ruta ... que también hace que no se encuentre el archivo de metadatos y errores de compilación ... Cambié el nombre de mis carpetas a rutas más cortas y voilá, clases que no se reconocieron y se mantuvieron en negro, se volvieron azules con solo cambiar el nombre la carpeta.
Para mí tuve un proyecto referenciado en otro proyecto. No mostró que estaba roto en la lista de referencias en la ventana del explorador de soluciones, pero lo eliminé y lo reacomodé de todos modos. Se construye muy bien ahora!
Primero asegúrese de que la casilla de verificación "compilar" esté marcada en Build -> Configuration Manager para cada proyecto.
En el caso, si ya tiene todos los proyectos seleccionados en Build -> Configuration Manager menú, y reiniciar VS truco no funciona para usted tampoco tiene que encontrar la referencia de los archivos (podría ser dll o cs) en su proyecto y eliminar esas referencias de forma manual. Esos archivo (s) / referencia (s) se deben mostrar con el icono amarillo. El error definitivamente lo guía a usted en qué proyecto de solución debe estar interesado.
El motivo de este error es porque ha eliminado archivos de forma manual en el explorador de Windows y VS no ha actualizado la referencia y no ha encontrado el archivo que ya no existe.
Si ha agregado un nuevo proyecto a la solución, verifique que esté en la lista de compilación (vea Configuration Manager)
Si utiliza contextos de datos de LinqtoSQL, por ejemplo, y falta el archivo .designer.cs, obtendrá el error de archivo de metadatos.
Volver a crear el archivo designer.cs es fácil.
Abra el dbml usando la vista xml. Agregue una línea en blanco, luego quítela y luego guárdela. Eso debería regenerar su archivo designer.cs.
En algunas circunstancias, si tiene un código dentro del código subyacente de su contexto de datos, este trabajo no funcionará. En este caso, saque el código del código y guárdelo en el bloc de notas o algo así. Haz el truco de agregar y luego quitar una línea del DC y guardar. Ahora devuelve el código y guarda.
También experimenté este error y la causa fue que el Proyecto se está refiriendo a sí mismo. No tengo idea de cómo sucedió, pero acabo de eliminar la referencia y listo
Tengo un par de puntos que me gustaría hacer.
Si confía en el archivo de solución como su archivo de compilación en MSBuild, asegúrese de agregar proyectos al archivo de solución en el orden en el que desea que se generen, es decir, según el orden de dependencia mutuo de los proyectos. Esto se vuelve muy importante si tiene proyectos en la solución de los que dependen otros proyectos, pero las referencias se han agregado como "Referencias" en lugar de como "Referencias del proyecto".
Debes evitar eso como la peste, pero en caso de que necesites hacer eso, al menos asegúrate de que los proyectos dependientes aparezcan antes en el archivo de la solución.
Debe tener en cuenta que la forma en que Visual Studio genera el orden de compilación no es exactamente igual a la forma en que lo hace MSBuild. Esto se debe a que MSBuild depende principalmente del archivo de proyecto para indicarle cuáles son las dependencias, mientras que Visual Studio también puede guardarlas en el archivo de solución. Por lo tanto, a veces puede ver situaciones en las que Visual Studio construye la solución perfectamente, pero MSBuild simplemente no puede hacerlo.
Tuve un par de instancias en las que tuve que modificar manualmente el orden en el que aparecen los proyectos en el archivo de la solución, así como el orden en que se enumeraron los proyectos en el elemento ProjectReferences en un proyecto de sitio web en el archivo de la solución.
Espero que la información anterior ayude.
Tengo un problema similar cada vez que actualizo el proyecto desde SVN.
Otra solución para ASP.NET:
- Cierre el IDE.
- Elimine los archivos en
C:/WINDOWS/microsoft.net/framework/v…/Temporary ASP.NET File/
.
Tuve este error fue causado por una de las dependencias de mi proyecto donde el nombre del ensamblado había sido cambiado en el proyecto, pero la referencia no fue actualizada. Por lo tanto, actualizar la referencia o cambiar el nombre del ensamblaje lo arreglará.
Tuve este problema, no estoy seguro si esto ayudará, pero el mío fue causado por tener dos versiones diferentes del mismo proyecto referenciadas por dos soluciones diferentes. Cuando construí la solución con la referencia al proyecto correcto primero, la segunda solución se compilaría bien, sin embargo, si limpiaba la primera solución y traté de construir la segunda solución, fallaría con estos mensajes de error de referencia dll.
La solución para mí fue descubrir que tenía dos proyectos con el mismo nombre que se habían duplicado accidentalmente y eliminar la referencia al antiguo proyecto incorrecto y agregar una referencia al nuevo.
En cualquier caso, parece que estos mensajes son un poco descabellados, verificaría su producción de compilación y encontraría el primer proyecto que falla en la construcción y verificaría cuidadosamente las referencias en ese proyecto.
Windows 7 Ultimate 32 Visual Studio 2008 SQL Server v2005
Estaba recibiendo el mismo error. Y decidí eliminar y volver a agregar las referencias del proyecto. No pude volver a agregarlos porque la referencia de la base de datos en cada uno de los proyectos referenciados estaba en blanco.
Una vez que restablecí la referencia de la base de datos a la configuración correcta, pude construir sin ningún problema adicional. Además, este fue mi primer intento de reconstruir este proyecto después de haber ramificado el código fuente en VSS.
Buena suerte
tuve el problema similar donde "metadatos no se podían encontrar". en la propiedad de la solución, asegúrese de que la casilla de verificación "compilar" esté marcada en Build / Configuration Manager para cada proyecto.