No he descubierto todavía por qué ocurre esto, pero tenía clases que estaban en mi carpeta App_Code
que llamaban métodos entre sí, y estaban bien al hacer esto cuando construí un proyecto .NET 4.5.2, pero luego tuve que volver a 4.0 ya que el servidor de destino no se estaba actualizando. Fue entonces cuando me encontré con este problema (después de la fijación de la langversion
en mi web.config de 6 a 5 ... otra historia) ....
Uno de mis métodos mantenían tener un error como:
The type X.Y conflicts with the imported type X.Y in MyProject.DLL
Todas mis clases ya estaban configuradas para "Compilar" en sus propiedades, como se sugiere en la respuesta aceptada aquí, y cada una tenía un espacio de nombres común que era el mismo, y cada una tenía using MyNamespace;
en la parte superior de cada clase.
Descubrí que si solo movía las clases ofensivas que tenían que llamar métodos entre sí a otra carpeta estándar llamada algo distinta a "App_Code", dejaban de tener este problema de conflicto.
Nota: Si crea una carpeta estándar llamada "AppCode", mueva sus clases en ella, eliminar la carpeta "App_Code", a continuación, cambiar el nombre de "AppCode" a "App_Code", sus problemas volverán. No importa si usa la opción "Nueva carpeta" o "Agregar carpeta ASP .NET" para crear "Código_aplicación", parece que ingresa el nombre.
Quizás esto sea solo un problema de .NET 4.0 (y posiblemente antes) ... ¡Estaba bien en 4.5.2 antes de tener que revertir!
Asumo que estás incluyendo el espacio de nombres en sus páginas web? –
Posible duplicado - http://stackoverflow.com/questions/409070/accessing-a-class-that-is-not-declared-in-app-code-in-asp-net/37838458#37838458 – vapcguy