2010-10-21 21 views
6

Tengo una aplicación de consola C# con tres ensamblajes: Main, Common y Utilities.Refiriéndose al Código en IBM.Data.DB2 hace que el Ensamblaje no esté disponible para el resto de mi Solución

En un archivo en el conjunto de Main, Main.cs, tengo la línea:

using Utilities; 

En un directorio dentro del conjunto Common, tengo la DLL IBM.Data.DB2.dll.

En el ensamblaje Utilities, tengo un módulo fuente que tiene acceso a dicho dll. Las utilidades tienen una referencia al IBM.Data.DB2. En un archivo de fuente dentro de este montaje, Util.cs, que tienen la línea:

using IBM.Data.DB2; 

Si, dentro de un método en este archivo, me hace ninguna referencia al código dentro del conjunto de DB2, como en:

DbConnection c = new DB2Connection(_connectString); 

me sale un error compilar el conjunto de Main que indica que el nombre de espacio de nombres Utilities no se puede encontrar. Utilities compila bien con o sin la línea. Si comento la línea anterior, todo compila bien.

Respuesta

7

Un colega servicial vino y resolvió esto para mí en unos cinco segundos.

Resulta que, por defecto, cuando se crea una nueva aplicación de consola en VS 2010, se pone un marco blanco de ".NET Framework 4 Client Profile". Cambiar esto a ".NET Framework 4" hizo que el problema desapareciera.

0

He estado lidiando con un problema similar en VS 2013. Comprobé la versión de compilación del perfil del cliente, todo parecía estar bien, y finalmente me di cuenta de que necesitaba hacer clic derecho en la pestaña Referencias para agregar los proyectos que había incluido a mi Referencias de soluciones. ¡Hice esto y todo hizo clic!

Cuestiones relacionadas