2011-08-18 15 views
5

Estoy usando Visual Studio 2010 y he creado varias pruebas unitarias.El proyecto de prueba no puede encontrar objetos en el proyecto que está probando

Aquí se muestra un ejemplo:

[TestMethod()] 
    [HostType("ASP.NET")] 
    [AspNetDevelopmentServerHost("C:\\Users\\Employee\\Documents\\Code Spaces\\shopvote2\\trunk\\Web", "/Web")] 
    [UrlToTest("http://localhost/Web")] 
    public void GetUserDetailsTest() 
    { 
     api_Accessor target = new api_Accessor(); // TODO: Initialize to an appropriate value 
     string username = string.Empty; // TODO: Initialize to an appropriate value 
     string passhash = string.Empty; // TODO: Initialize to an appropriate value 
     int requestID = 0; // TODO: Initialize to an appropriate value 
     ShoppingRequestDetailsData[] expected = null; // TODO: Initialize to an appropriate value 
     ShoppingRequestDetailsData[] actual; 
     actual = target.GetUserDetails(username, passhash, requestID); 
     Assert.AreEqual(expected, actual); 
     Assert.Inconclusive("Verify the correctness of this test method."); 
    } 

El problema es, que dice:

El tipo o espacio de nombres 'ShoppingRequestDetailsData' no se puede conocer (¿falta una directiva using o una referencia de ensamblado ?)

no se puede convertir implícitamente el tipo 'ShoppingWithFriends.ShoppingRequestDetailsData []' a 'ShoppingRequestDetailsData []'

Capta el Namespace del que procede y puedo ejecutar las pruebas que no requieren clases personalizadas. Son solo estos los que me están causando problemas.

¿Alguna idea?

Gracias.

+0

es público 'ShoppingRequestDetailsData'? –

+0

Sí, esa clase es pública y también todas mis clases estoy tratando de acceder – apexdodge

+0

"¿Echas de menos una directiva de uso o una referencia de ensamblado?" – svick

Respuesta

5

Algunas cosas a comprobar:

En primer lugar, habría que compruebe de nuevo la referencia en su proyecto - que es una referencia de proyecto o una referencia de ensamblado? Si se trata de una referencia de ensamblado, ¿está seguro de que apunta a la versión correcta del archivo? (por ejemplo, si cambió el nombre de los directorios, tal vez esté apuntando al directorio anterior). Para estar seguro, use una herramienta como Reflector para examinar el ensamblaje directamente y asegúrese de que el tipo esté allí en el espacio de nombres correcto.

En segundo lugar, no estoy seguro de si este es su problema, pero tuve un problema similar donde no se ha encontrado un espacio de nombres, aunque no había una referencia de proyecto en la misma solución, tipos eran públicos, etc ..

Resultó que necesitaba cambiar el "Marco de destino" para que sea ".NET Framework 4" en lugar de ".NET Framework 4 Client Profile". No me molesté en averiguar por qué esto resultó en un error de "espacio de nombres desconocido", pero resolvió mi problema.

Sólo un par de cosas a comprobar, creo que sirve ...

John

+0

salvaste mi día ... (y) gracias – KoolKabin

Cuestiones relacionadas