vscode visual studio spell code bootstrap beautiful autocompletar visual-studio-2013 msbuild .net-assembly mscorlib

visual studio 2013 - spell - Visual Studio me pide que haga referencia a un ensamblaje inexistente



vscode beautiful (3)

De alguna forma, llevé mi proyecto a un estado en el que Visual Studio 2013 no pudo compilarlo con un error ridículo:

El tipo ''System.Collections.Generic.Dictionary`2'' se define en un conjunto al que no se hace referencia. Debe agregar una referencia al ensamblado ''System.Collections, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a''.

Primero que nada, no hay tal ensamblaje, no existe . En segundo lugar, Dictionary<TKey, TValue> se define en mscorlib.dll , que se hace referencia por defecto, por supuesto. Resharper (que tiene su propio motor de análisis de código) informa que la solución debe compilarse normalmente.

No sé cómo podría suceder en la Tierra, porque mis últimos cambios no tienen nada que ver con el lugar supuestamente erróneo. La línea hace referencia a algunas funciones LINQ estándar ( GroupBy y ToDictionary ), y funcionó durante meses sin ningún cambio. Lamentablemente, no puedo crear ningún MRE: obviamente, este error solo aparece en el contexto de mi gran solución, y solo con algunos cambios específicos realizados en los lugares presumiblemente irrelevantes.

Esto es lo que intenté, y no funcionó:

  • Clean + Rebuild
  • Cambiar el marco de destino de .NET 4.5 a .NET 4.5.1 o .NET 4.0

¿Alguien ha visto tal capricho antes?


Verifique que todas las referencias (core .net) de su proyecto sean válidas y que todas hagan referencia a la misma versión de .NET framework.

En caso de duda, elimine todas las referencias y agréguelas de nuevo (utilizando la versión 4.0.0.0).

Me sucedió esto una vez (con exactamente el mismo error) y fue debido a algún "error" en la versión de las referencias. Nunca llegué a descubrir POR QUÉ sucedió, pero eliminar todas las referencias y agregarlas nuevamente funcionó para mí.


Tenía exactamente el mismo problema y parecía estar relacionado con dos paquetes NuGet que contenían el mismo ensamblado "System.Collections.Immutable". Los dos paquetes NuGet donde "Microsoft.Bcl.Immutable" (no listado) y "System.Collections.Immutable".

No he podido reproducir el problema de manera confiable, y parece que el problema se resolvió utilizando VS2015.

Sin embargo, sugeriría buscar paquetes NuGet que contengan el mismo ensamblaje.

Eliminar Microsoft.Bcl.Immutables solucionó esto por mí.


Tuve el mismo problema, pero fue en un proyecto de sitio web, no es una forma fácil de eliminar y volver a agregar las referencias. Afortunadamente, descubrí que esta respuesta funcionó para mí, e incluso fue más rápida que complicar las referencias https://.com/a/29575865/3841490

agregar una nueva etiqueta de ensamblaje a web.config parece haber resuelto este problema. La etiqueta que agregué estaba debajo de la etiqueta y de la siguiente manera:

<assemblies> <add assembly="System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </assemblies>