test pudo not metadatos los found especificados encontrĂ³ encontro cs0006 could cargar archivos archivo c# .net wpf visual-studio-2008 c#-3.0

c# - pudo - no se encontro el archivo metadatos



No se encontrĂ³ el archivo de metadatos ''.dll'' (30)

Estoy trabajando en un proyecto WPF, C # 3.0, y recibo este error:

Error 1 Metadata file ''WORK=- /Tools/VersionManagementSystem/BusinessLogicLayer/bin/Debug /BusinessLogicLayer.dll'' could not be found C:/-=WORK=- /Tools /VersionManagementSystem/VersionManagementSystem/CSC VersionManagementSystem

Así es como me refiero a mis controles de usuario:

xmlns:vms="clr-namespace:VersionManagementSystem" <vms:SignOffProjectListing Margin="5"/>

Sucede después de cada construcción fallida. La única forma en que puedo obtener la solución para compilar es comentar todos mis controles de usuario y reconstruir el proyecto, y luego descomprimir los controles de usuario y todo está bien.

He comprobado órdenes de compilación y configuraciones de dependencias.

Como puede ver, parece haber truncado la ruta absoluta del archivo DLL ... He leído que hay un error en la longitud. ¿Es este un problema posible?

Es muy molesto y tener que comentar, compilar y no comentar, la compilación se está volviendo extremadamente aburrida.


¡Cerrar y reabrir Visual Studio 2013 me funcionó!


Acabo de tener el mismo problema. Visual Studio no está construyendo el proyecto al que se hace referencia.

  1. Haga clic derecho en la solución y haga clic en Propiedades.
  2. Haga clic en Configuración a la izquierda.
  3. Asegúrese de que la casilla de verificación debajo de "Generar" para el proyecto que no puede encontrar esté marcada. Si ya está marcado, desmarque, pulse Aplicar y marque las casillas nuevamente.

Agregué un nuevo proyecto a mi solución y comencé a obtener esto.

¿La razón? El proyecto que presenté tenía como objetivo un marco .NET diferente (4.6 y mis otros dos eran 4.5.2).


Bueno, mi respuesta no es solo el resumen de todas las soluciones, sino que ofrece más que eso.

Sección 1):

En soluciones generales:

Tuve cuatro errores de este tipo (''no se pudo encontrar el archivo de metadatos'') junto con un error que dice ''No se pudo abrir el archivo de origen ('' Error no especificado '')''.

Intenté 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í):

  1. Reinicie Visual Studio e intente construir de nuevo.

  2. Vaya a ''Explorador de soluciones'' . Haga clic derecho en la solución. Ir a Propiedades . Vaya a ''Administrador de configuración'' . Compruebe si las casillas de verificación en ''Crear'' están marcadas o no. Si alguno o todos están desactivados, entonces verifíquelos e intente construir nuevamente.

  3. Si la (s) solución (es) anterior (es) no funciona (s), siga la secuencia mencionada en el paso 2 anterior, e incluso si todas las casillas están marcadas, desmarque, vuelva a marcar e intente compilar nuevamente.

  4. Orden de construcción y dependencias del proyecto:

    Vaya a ''Explorador de soluciones'' . Haga clic derecho en la solución. Vaya a ''Dependencias del proyecto ...'' . Verá dos pestañas: ''Dependencias'' y ''Orden de compilación'' . Este orden de compilación es aquel en el que se construye la solución. Verifique las dependencias del proyecto y el orden de compilación para verificar si algún proyecto (por ejemplo, ''project1'') que depende de otro (por ejemplo, ''project2'') está tratando de construir antes de ese proyecto (project2). Esto podría ser la causa del error.

  5. Compruebe la ruta del archivo .dll que falta:

    Compruebe la ruta de acceso de la .dll que falta. Si la ruta contiene espacio o cualquier otro carácter de ruta no válido, elimínelo e intente construir de nuevo.

    Si esta es la causa, entonces ajusta el orden de construcción.

Sección 2):

Mi caso particular:

Intenté todos los pasos anteriores con varias combinaciones y combinaciones con reiniciar Visual Studio varias veces. Pero, no me ayudó.

Entonces, decidí deshacerme de otro error que estaba encontrando (''El archivo de origen no pudo abrirse ('' Error no especificado '')'').

Me encontré con una publicación de blog: Error de TFS : no se pudo abrir el archivo de origen (''Error no especificado'')

Intenté los pasos mencionados en esa publicación del blog, eliminé el error "No se pudo abrir el archivo de origen (''Error no especificado'') '' y, sorprendentemente, eliminé otros errores ('' No se pudo encontrar el archivo de metadatos '') como bien.

Seccion 3):

Moraleja de la historia:

Pruebe todas las soluciones como se menciona 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 de origen que ya no están presentes en el control de origen y el sistema de archivos de su archivo .csproj .


Bueno, nada en las respuestas anteriores funcionó para mí, así que me puse a pensar por qué hago clic y espero cuándo, como desarrolladores, debemos tratar de entender qué está pasando aquí.

Me pareció obvio que esta referencia incorrecta al archivo de metadatos debe estar en algún lugar.

Una búsqueda rápida del archivo .csproj mostró las líneas culpables. Tuve una sección llamada <itemGroup> que parecía estar colgada en la antigua ruta de archivo incorrecta.

<ItemGroup> <ProjectReference Include="../../../MySiteOld/MySite.Entities/MySite.Entities.csproj"> <Project>{5b0a347e-cd9a-4746-a3b6-99d6d010a6c2}</Project> <Name>Beeyp.Entities</Name> </ProjectReference> ...

Así que una solución simple realmente:

  1. Copia de seguridad de su archivo .csproj.
  2. Busque las rutas de acceso incorrectas en el archivo .csproj y cámbielas apropiadamente.

Por favor, asegúrese de hacer una copia de seguridad de su antiguo .csproj antes de tocar el violín .


Conseguí este problema en Visual Studio 2012 en una solución que tenía muchos proyectos. Reconstruir cada proyecto en la solución manualmente en el mismo orden que la Orden de compilación del proyecto (haga clic con el botón derecho y reconstruir en el Explorador de soluciones) lo solucioné.

Finalmente llegué a uno que me dio un error de compilación. Solucioné el error y la solución se construiría correctamente después de eso.


En mi caso, el problema era que había eliminado manualmente un archivo que no era de compilación y que estaba marcado como "faltante". Una vez que eliminé la referencia al archivo que faltaba ahora y lo volví a compilar, todo estaba bien.


En mi caso, el problema fue causado por un simple error de compilación,

error CS0067: el evento ''XYZ'' nunca se usa

eso, por cualquier razón, no se mostró en la ventana de error.

Debido a eso, el sistema de compilación de Visual Studio pareció pasar por alto el error y trató de compilar proyectos dependientes, que a su vez fallaron con el molesto mensaje de metadatos.

La recomendación es, como puede parecer estúpido:

¡Primero mira tu ventana de salida !

Me tomó media hora antes de que esta idea me golpeara ...


En mi caso, fue causado por una falta de coincidencia de la versión de .NET Framework.

Un proyecto fue 3.5 y el otro proyecto de referencia 4.6.1.


En mi caso, fue que comenté las clases en un espacio de nombres específico (vacío):

namespace X.Y.Z.W { // Class code }

Cuando eliminé el código del espacio de nombres y los comandos de importación (uso) del mismo, se solucionó el problema.

En la compilación también se decía, junto con el archivo DLL faltante del proyecto:

error CS0234: el tipo o el nombre de espacio de nombres ''W'' no existe en el espacio de nombres ''XYZ'' (¿falta una referencia de ensamblado?)


En mi caso, tengo mi directorio instalado de manera errónea.

Si la ruta de su solución es algo como "My Project% 2c Very Popular% 2c Unit Testing% 2c Software and Hardware.zip", no puede resolver el archivo de metadatos, tal vez deberíamos evitar algunas palabras no válidas como% 2c.

Cambiar el nombre de la ruta en nombre normal resolvió mi problema.


Este error puede mostrarse si utiliza ensamblajes falsos. La eliminación de falsificaciones conduce a la construcción exitosa del proyecto.


Esto todavía puede suceder en las versiones más nuevas de Visual Studio (acabo de hacerlo en Visual Studio 2013):

Otra cosa que debe intentar es cerrar Visual Studio y eliminar el archivo .suo que está al lado del archivo .sln . (Se volverá a generar la próxima vez que Save all (o salga de Visual Studio)).

He tenido este problema al agregar nuevos proyectos a la solución en otra máquina y luego colocar las revisiones, pero el archivo .suo puede corromperse en otros casos y provocar un comportamiento muy extraño de Visual Studio, por lo que eliminarlo es uno de ellos. De las cosas que siempre trato.

Tenga en cuenta que eliminar el archivo .suo restablecerá los proyectos de inicio de la solución.

Más sobre el archivo .suo está here .


Estoy ejecutando Visual Studio 2013.

Parece que las dependencias de construcción eran incorrectas. Eliminar los archivos * .suo solucionó los problemas que tenía.


La respuesta sugerida no funcionó para mí. El error es un señuelo para otro problema.

Descubrí que estaba apuntando a una versión ligeramente diferente de .NET y esto fue marcado como una advertencia por el compilador, pero estaba causando que la construcción fallara. Esto debería haberse marcado como un error y no como una advertencia.


Me había enfrentado al mismo problema. En mi caso, hice referencia a un proyecto de biblioteca de clases con una versión .Net más alta que mi proyecto y VS no pudo construir el proyecto y generó el mismo error que usted publicó.

Simplemente configuré la versión .Net de mi proyecto de biblioteca de clases (el que había roto la compilación) idéntica a la versión .Net del proyecto referenciado y el problema resuelto.


Mi instancia del problema fue causada por un proyecto común que tenía un nombre de clase duplicado (con un nombre de archivo diferente). Es extraño que Visual Studio no pueda detectar eso y en su lugar simplemente hizo estallar el proceso de compilación.


Para mí los siguientes pasos funcionaron:

  • Encuentra el proyecto que no esta construyendo.
  • Eliminar / agregar referencias a proyectos dentro de la solución.

Para mí ocurrió cuando incluí un nuevo proyecto para una solución.

Visual Studio selecciona automáticamente .NET Framework 4.5.

Cambié a la versión .NET 4.5.2 como las otras bibliotecas, y funcionó.


Para mí, estaba tratando de encontrar una DLL en una ruta que solía contener el Proyecto, pero la movimos a un nuevo directorio. La Solución tenía la ruta correcta al Proyecto, pero Visual Studio de alguna manera seguía buscando en la ubicación anterior.

Solución: cambie el nombre de cada proyecto de problema, solo agregue un carácter o lo que sea, luego renómbrelo a su nombre original.

Esto debe restablecer algún tipo de caché global de algún tipo en Visual Studio, ya que esto soluciona este problema y otros similares, mientras que cosas como Limpiar no lo hacen.


Parece un tipo de errores relacionados con el hecho de que Visual Studio no proporciona información correcta sobre un error. El desarrollador ni siquiera entiende la razón de la construcción fallida. Puede ser un error de sintaxis o algo más. En común, para resolver tales problemas, debe encontrar la raíz del problema (por ejemplo, consulte el registro de compilación).

En mi caso, el problema era, de hecho, que la ventana Error List no mostraba ningún error. Pero realmente hubo errores de sintaxis; Encontré estos errores en la ventana de Output , y después de corregirlos, el problema se resolvió.


Recibí el mismo error "No se pudo encontrar el archivo de metadatos ''.dll''", e intenté varias cosas descritas anteriormente, pero la razón del error fue que estaba haciendo referencia a un archivo DLL de terceros que tenía como objetivo una versión .NET más alta que mi proyecto objetivo versión .NET. Así que la solución fue cambiar el marco objetivo de mi proyecto.


Si tiene un espacio en el nombre de su solución, esto también causará el problema. Eliminar el espacio del nombre de la solución, por lo que la ruta no contiene% 20 resolverá esto.


Solo señale lo descaradamente obvio: si no tiene habilitada la opción "Mostrar ventana de salida cuando se inicie la compilación", asegúrese de que está notando si su compilación está fallando (error pequeño "falla de compilación" en la parte inferior izquierda).


También me encontré con este problema. En primer lugar, debe crear manualmente su proyecto DLL, haciendo clic con el botón derecho, Crear. Entonces funcionará.


También me estaba quitando el pelo con este problema, pero después de probar las respuestas anteriores, lo único que me funcionó fue abrir cada proyecto en mi solución 1 por 1 y construirlos individualmente.

Luego cerré Visual Studio 2013, reabrí mi solución y la compilé bien.

Es extraño, porque si hice clic en cada proyecto en mi Explorador de soluciones e intenté compilarlos de esa manera, todos fallaron. Tuve que abrirlos solos en sus propias soluciones.


Tuve el mismo problema. En mi caso, el proyecto aún se construiría en modo de lanzamiento y fue justo cuando intenté construir en la depuración que falló.

Lo que terminé haciendo para solucionar el problema fue simplemente copiar todos los archivos DLL (y otros archivos de mi carpeta de lanzamiento) en mi carpeta de depuración. Después de hacer esto para cada proyecto, los errores desaparecieron.


Tuve este error cuando intentaba publicar una aplicación web. Resultó que una de las propiedades de una clase estaba envuelta en

#if DEBUG public int SomeProperty { get; set; } #endif

Pero el uso de la propiedad no fue. La publicación se realizó en la configuración de la versión sin el símbolo DEBUG , obviamente.



Yo también tuve el mismo error. Se esconde como en el camino de abajo. La ruta a la que me referí para el archivo DLL es como "D: / Assemblies Folder / Assembly1.dll".

Pero la ruta original en la que se hizo referencia al ensamblaje fue "D: / Assemblies% 20Folder / Assembly1.dll".

Debido a esta variación del nombre de la ruta, el ensamblaje no se pudo recuperar de su ruta original y, por lo tanto, arroja el error "Metadata no encontrado".

La solución está en la pregunta de desbordamiento de pila ¿ Cómo reemplazo todos los espacios con% 20 en C #? .