visual unitarias unit test studio pruebas plan hacer ejecutar como unit-testing visual-studio-2013 microsoft-fakes

unit-testing - unitarias - pruebas visual studio 2017



Las pruebas unitarias de MS Fakes fallan despuĆ©s de la actualizaciĆ³n 4 de Visual Studio 2013 (5)

Recientemente actualicé de Microsoft Visual Studio 2013 Update 3 (edición Premium) a Microsoft Visual Studio 2013 Update 4 (edición Premium) y ahora mis proyectos de prueba de unidad existentes han dejado de compilar. Falla con el error:

El tipo ''Microsoft.QualityTools.Testing.Fakes.Stubs.StubBase`1'' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblaje ''Microsoft.QualityTools.Testing.Fakes, Version = 12.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a''

Nosotros, junto con muchas otras personas, tuvimos un problema similar en el que se introdujo un error en VS2013 que podría resolverse eliminando manualmente el archivo .messages (a través del Explorador de archivos o el Explorador de soluciones con ver todos los archivos habilitados) dentro de la carpeta FakesAssemblies dentro de la carpeta carpeta de proyecto. Sin embargo, esto no soluciona el problema, incluso si elimino toda la carpeta FakesAssemblies.

La referencia al proyecto (incluida la versión correcta es su dentro del proyecto). He eliminado la referencia, la he vuelto a leer y no tiene ningún efecto, todavía no se compila.

Los proyectos de prueba de unidad aún se compilan y pasan a las máquinas de otros colegas con Visual Studio 2013 Update 3.

Los nuevos proyectos de prueba unitaria de proyectos que utilizan MS Fake tampoco se pueden construir.

Tan poco como, desinstalar la Actualización 4, ¿hay algo más que pueda probar?

Si no, registraré un error en Microsoft Connect.


  1. la solución fue eliminar todas las referencias que terminen con .FAKES (incluida la referencia Microsoft.QualityTools.Testing.Fakes.dll).
  2. También quité la carpeta FAKES
  3. Solución limpia
  4. Luego volvió a leer todas las referencias de nuevo en.

Tuvimos algunos errores adicionales que ver con Shims, pero los convertimos a Stubs.

Tuvimos que actualizar todos nuestros proyectos de esta manera manualmente, todas las instancias de VS, incluido el servidor de compilación.


Agregué los siguientes ensamblados y reconstruí mi solución. Empezó a funcionar para mí. A. C: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / Common7 / IDE / PublicAssemblies / Microsoft.QualityTools.Testing.Fakes.dll

B. C: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / Common7 / IDE / PublicAssemblies / Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll


Después de intentar todas las respuestas aquí, finalmente funcionó para mí. El código:

using (ShimsContext.Create())

(solía tirar)

Error al obtener la dirección de la función SetDetourProvider de la biblioteca ''C: / Archivos de programa (x86) / Microsoft Visual Studio 11.0 / Team Tools / Performance Tools / vsperfcorprof.dll''.

Mi proyecto de prueba se está ejecutando en 2012. Reemplazé las siguientes dlls con estas:

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll (versión: 10.1.0.00, versión del archivo: 11.0.60610.1)
  • Microsoft.QualityTools.Testing.Fakes.dll (versión: 11.0.0.0, versión del archivo: 11.0.60315.1)

Se ubicaron en:

C: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / Common7 / IDE / PublicAssemblies /

Espero eso ayude.


Intenta limpiar todo el proyecto y compílalo de nuevo, ¡eso funcionó para mí!


En las propiedades de referencia para Microsoft.QualityTools.Testing.Fakes , cambie la propiedad "Versión específica" a FALSE . Al hacerlo, Visual Studio 2013 podrá usar cualquier versión de Microsoft.QualityTools.Testing.Fakes esté instalada en su máquina.

Con Visual Studio 2013 Update 4, Microsoft incrementó el número de versión de Microsoft.QualityTools.Testing.Fakes.dll de 11.0 a 12.0; esto es lo que causó que las cosas se rompieran.