Tengo una solución de Visual Studio con un proyecto C# dll. Esta solución también tiene un proyecto de prueba que hace referencia al resultado del proyecto C# dll. El dll del proyecto al que se hace referencia ha establecido Copiar local = verdadero.¿Por qué MSTest no copia las bibliotecas de proyectos referenciadas?
Si ejecuto esta prueba desde Visual Studio, funciona bien.
Pero si lo ejecuto desde la tarea MSBuild, por alguna razón MSTest no copia el dll C# referenciado a la carpeta de trabajo MSTest, por lo que la prueba falla. Lo extraño es que todas las demás bibliotecas referenciadas se copian en la carpeta de trabajo MSTest. Y si pongo un
[DeploymentItem(@"PleaseCopyThis.dll")]
antes de mi método de ensayo, por último, se copia en la carpeta de trabajo MSTest y mi prueba funciona muy bien.
Pero, ¿por qué Visual Studio copia solo los dlls a los que se hace referencia que no son parte de la solución, pero no copia los dlls del proyecto al que se hace referencia?
¿Alguna vez encontrar una solución para esto? – amaters
No, acabo de salir de esa prueba en particular con DeploymentItem. Tal vez había algo mal con ese proyecto de prueba, se importó a VS 2010 desde VS 2008. – JustAMartin
He tenido exactamente el mismo problema. Cargamos muchos dll dinámicamente y ninguno de ellos se copia al ejecutar MSTest. La mejor solución que he visto es simplemente agregarlos como un elemento de implementación. –