2011-03-03 12 views
5

Tengo un proyecto en desarrollo que apunta a .NET 3.5. No tengo otra opción sobre esto ya que las grandes pelucas corporativas no nos permitirán apuntar a 4.0. He agregado un nuevo Proyecto de prueba a la solución en Visual Studio 2010. Veo que solo puedo orientar el Framework 4.0 desde el proyecto de prueba (lo cual está bien porque no está implementado).Prueba de unidad 3.5 proyecto en VS2010 produce advertencias CS1685

Todo es genial, excepto que consigo las advertencias del compilador de mis proyectos de prueba:

CS1685

advertencia: El tipo predefinido 'System.Action' se define en varios ensamblados en el alias global; utilizando la definición de 'c: \ Archivos de programa \ Conjuntos de referencia \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Core.dll'

Eliminé la referencia a System.Core del proyecto de prueba y la advertencia sigue siendo ocurriendo. Solo puedo suponer que es porque el proyecto que estoy probando apunta a 3.5, por lo que algo se está cruzando. ¿Existe alguna forma LIMPIA de eliminar esta advertencia hasta que se nos otorgue la aprobación para apuntar a 4.0 en nuestras aplicaciones?

Respuesta

5

Parece que está utilizando MSTest como el marco de prueba de su unidad. Si es así, el problema es que MSTest no admite la orientación hacia abajo en Visual Studio 2010. Esto significa que cargará la versión 4.0 de los ensamblados .Net, incluso si el proyecto al que se dirige su prueba es 3.5. Esto provoca los conflictos que está viendo debido a las múltiples versiones de System.Core que se cargan en este escenario.

Lamentablemente, no hay forma de evitar este problema que no sea actualizar su proyecto a 4.0.

+0

¿Alguna manera de suprimir la advertencia? Puedo aceptar que este sea el caso hasta que actualicemos si podemos sacar las advertencias de la lista. Están abarrotando la lista y dificultando la identificación de advertencias legítimas de CA a las que deberíamos dirigirnos. – SonOfPirate

+1

@SonOfPirate Debería poder suprimirlos agregando manualmente un elemento '' al archivo csproj en cuestión. Necesitará editar manualmente el archivo .csproj para hacer esto. – JaredPar

+0

¡Eso hizo el truco! – SonOfPirate