2012-08-31 12 views
11

He agregado un ensamblaje de Fakes a mi proyecto de prueba de unidad de Visual Studio 2012, correspondiente a mi proyecto de aplicación (el sistema bajo prueba), como se describe en Peter Provost's article. Sin embargo, el proyecto ya no construir, a causa de una referencia de tipo sin resolver en el código generado falsificaciones:No se puede construir el proyecto con el ensamblaje de Fakes

The type or namespace name 'FieldDefinition' does not exist in the namespace 'bc::ProductStudio' (are you missing an assembly reference?) 
[C:\Users\arvek\Projects\Project\Project.Tests\obj\Debug\Fakes\bc\f.csproj] 
C:\Users\arvek\Projects\Project\Project.Tests\f.cs 

lo que va mal aquí? Por lo que sé, se supone que esto solo funciona, por lo que me parece que hay un error en las instalaciones de Fakes.

+0

hay un problema de problema similar en VS 2013, causada por un error en VS. También hay una solución. usted puede verlo [aquí] (http://connect.microsoft.com/VisualStudio/feedback/details/809792/could-not-load-project-assembly-for-microsoft-fakes-generation) – Mohoch

Respuesta

4

El error probablemente se deba a un error en las falsificaciones activadas por el ensamblaje falso. He enviado el problema a Microsoft.

+0

¿Hay un enlace a ese problema que puedes compartir? – lance

+1

@lance Sí, pero el acceso se hizo privado ya que necesitaba enviar el código de propiedad https://connect.microsoft.com/VisualStudio/feedback/details/760676/cant-build-project-with-fakes-assembly. – aknuds1

4

Una opción que puede ayudarlo a diagnosticar el problema es encender el diagnóstico para detectar falsificaciones. En tu archivo .fakes.

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011" Diagnostic="true" Verbosity="Noisy"> 

Además, asegúrese de que su "MSBuild generación de proyecto verbosidad de salida" se establece en diagnóstico. Puede encontrar esto en Herramientas -> Opciones -> Proyectos y soluciones -> Crear y ejecutar.

que la reconstrucción de proyecto de prueba y ahora su ventana de salida debe estar lleno de información incluyendo cualquier fallo para las falsificaciones

+0

En muchos casos, establecer Dignostic = "true" debería ser suficiente ahora. Con la actualización 1 de Visual Studio 2012, esto hace que Fakes genere advertencias para los problemas de generación de código que encuentra. Las advertencias se muestran automáticamente en la ventana Lista de errores de Visual Studio. –

9

Este error está presente en VS2013 también. Link a MSDN error.

Trabajo alrededor: Borrar el archivo. Los mensajes de la carpeta FakeAssemblies.

2

Eliminando La carpeta Fakes resolverá este problema.

0

No vas a creer esto, pero pude hacer que las falsificaciones volvieran a funcionar simplemente agregando una nueva línea al archivo, eliminando esa nueva línea y luego guardando lo que efectivamente es un archivo no modificado. Después de la próxima construcción todo estuvo bien.

cosas que te hacen ir ... hmm ...

Cuestiones relacionadas