Tengo una solución C# con varios proyectos en Visual Studio 2010 . Uno es un proyecto de prueba (lo llamaré " PrjTest "), el otro es un proyecto de Windows Forms Application (lo llamaré " PrjForm "). También hay un tercer proyecto al que hace referencia PrjForm, al que puede hacer referencia y utilizar con éxito.
PrjForm hace referencia a PrjTest y PrjForm tiene una clase con una declaración de using :
using PrjTest;using la declaración está correctamente en su lugarusing PrjTest; línea con el error:No se pudo encontrar el tipo o el nombre del espacio de nombres 'PrjTest' (¿falta una directiva de uso o una referencia de ensamblado?)
He intentado lo siguiente para resolver esto:
VS 2010Hice mi tarea y pasé demasiado tiempo buscando una respuesta en línea, ninguna de las soluciones ha ayudado todavía.
¿Qué más podría probar?
Ver esta pregunta .
Resulta que se trataba de un problema de perfiles de clientes.
PrjForm se configuró en ".Net Framework 4 Client Profile". Lo cambié a ".Net Framework 4", y ahora tengo una compilación exitosa.
¡Gracias a todos! Supongo que después de todo ese tiempo dedicado a buscar en línea, encuentro la solución minutos después de publicar, supongo que el truco es saber qué pregunta hacer.
En mi caso tuve:
DLL referenciado: .NET 4.5
Proyecto : .NET 4.0
Debido a la discrepancia anterior, el proyecto 4.0 no pudo ver el interior del espacio de nombres de la 4.5 .DLL. Recompilé el .DLL para apuntar a .NET 4.0 y estaba bien.
PrjForm se configuró en ".Net Framework 4 Client Profile". Lo cambié a ".Net Framework 4", y ahora tengo una compilación exitosa.
Esto también funcionó para mí. Muchas gracias. Estaba probando un ejemplo de RDF para dotNet donde descargué el kit de dotnetrdf.
Perfil de cliente de NET4: Apunte siempre al perfil de cliente de NET4 para todas sus aplicaciones de escritorio de cliente (incluidas las aplicaciones de Windows Forms y WPF).
Marco completo de NET4: apunte a NET4 completo solo si las características o los ensamblajes que su aplicación necesita no están incluidos en el perfil del cliente. Esto incluye: Si está creando aplicaciones de servidor, como:
Si usa escenarios de clientes heredados, como: o Use System.Data.OracleClient.dll, que está en desuso en NET4 y no está incluido en el perfil del cliente.
Si se dirige a escenarios de desarrolladores y necesita una herramienta como MSBuild o necesita acceso a ensamblajes de diseño como System.Design.dll