Mi solución C # WinForms tiene dos proyectos. Una DLL, que es el proyecto principal en el que estoy trabajando, y un WinForms ejecutable al que llamo "Sandbox" para poder compilar / ejecutar / depurar la DLL fácilmente de una sola vez.
Estoy trabajando en .Net 4.0 para ambos proyectos.
Todo funcionaba bien hasta que agregué un código aparentemente inocente y una referencia a System.Web en la DLL. Ahora mi proyecto Sandbox no puede ver el espacio de nombres del proyecto DLL. No cambié nada que creo que debería haber afectado esto.
Si elimino la referencia del proyecto a la DLL de las referencias de Sandbox y la vuelvo a agregar, los subrayados rojos desaparecen y la codificación de colores vuelve para todas mis clases, etc. pero tan pronto como trato de construir la solución, todo se desmorona nuevamente.
Cuando hago clic con el botón derecho en el proyecto DLL en las referencias de Sandbox y lo veo en el navegador de objetos, puedo ver el espacio de nombres y todas las cosas allí.
¿Tengo la sensación de que esto podría ser algún tipo de error?
¿Es esto algún tipo de error VS2010? Tuve este mismo problema hace unos meses y solo pude solucionarlo en ese momento haciendo un proyecto completamente nuevo y volviendo a importar mis archivos. Esta vez, sin embargo, tengo un billón de archivos y solo lo haré como último recurso.
Editar: Después de pasar con pánico y deshacer todos mis cambios, tratando de encontrar qué causó los problemas, parece ser esta línea:
string url = "http://maps.google.com?q=" + HttpUtility.UrlEncode(address);
Si comento esta línea, no obtengo errores de espacio de nombres y el proyecto se construye bien. Sin embargo, no veo nada malo en esta línea.
fuente
Verifique para asegurarse de que ambos proyectos estén usando el perfil de no cliente para su marco de destino (vaya a las propiedades de cada proyecto para hacer esto).
fuente
Una posibilidad es que la versión de .NET Framework de destino de la biblioteca de clases sea superior a la del proyecto. Enfrenté este problema y lo resolví cerrando Visual Studio, reabriendo Visual Studio, limpiando y reconstruyendo la solución. Esto funcionó para mí. En algunas otras publicaciones, he leído las respuestas y la mayoría de los usuarios resolvieron el problema siguiendo este camino.
fuente
Intente construir solo el proyecto con Sandbox dll primero de forma independiente.
Luego, apunte su proyecto ejecutable al dll requerido y asegúrese de que
copy local
esté configurado entrue
. en la configuración de referencia.Luego construya el proyecto ejecutable.
fuente
Cambiar el marco de destino de ".NET Framweork 4 Client Profile" a ".NET Framework 4" funcionó para mí con un problema similar. Estoy de acuerdo en que el perfil del cliente no parece tener mucha ventaja al usarlo. Parece que me clavan los errores extraños que busco hasta que recuerdo que Visual Studio está predeterminado en el perfil del cliente. Supongo que la moraleja de la historia cuando aparece un error es: si "Reconstruir solución" no funciona, verifique el marco de Target ...
fuente
Si ya intentó hacer el cambio de Framework y aún no funcionó, espero que esto funcione para usted (como lo hizo para mí): simplemente agregue las referencias necesarias desde sus proyectos. Muy obvio, pero lo estaba haciendo mal hasta que encontré cuál era el problema.
fuente
Acabo de tener este problema y resultó que tenía varios espacios de nombres en uso que tenían el mismo nombre de objeto (es decir, los objetos comerciales tenían los mismos nombres que los modelos mvc);
Calificar completamente los nombres solucionó el problema para mí.
fuente