2010-09-14 29 views
15

Recientemente, actualicé mi instalación de BlogEngine.Net a 1.6 y .Net 4.0, sin embargo, no construí BlogEngine.Core cuando realicé la actualización. Sin embargo, cuando intento crear el proyecto BlogEngine.Core ahora, la compilación falla porque no puede cargar los símbolos de (System.Web.Security) MembershipProvider. Creo que esto es un problema de .Net/C#/usuario en lugar de un problema de BlogEngine..Net 4.0 System.Web.Security.MembershipProvider ¿referencia ambigua?

El proyecto tiene una referencia a la biblioteca System.Web, y el archivo de clase (que hereda de MembershipProvider) incluye un uso para System.Web.Security. Con ReSharper habilitado, IntelliSense indica confusión acerca de qué proveedor de membresía usar para elegir entre dos bibliotecas del mismo nombre (System.Web.Security).

¿Qué podría haber causado esta referencia ambigua? ¿Cómo puedo determinar a qué bibliotecas se hace referencia? Nada obvio indica una referencia duplicada. Por otra parte, lo obvio es realmente obvio una vez que lo ves.

Respuesta

37

Problema resuelto. El espacio de nombres System.Web.Security es miembro de System.Web, sin embargo, también es miembro de System.Web.ApplicationServices. El proyecto tenía una referencia a System.Web y una instrucción using a la que se hacía referencia System.Web.Security, por lo que IntelliSense no arrojó una bandera al especificar la clase. Sin embargo, al proyecto le faltaba una referencia a System.Web.ApplicationServices. El proyecto tenía una referencia a la clase, pero no pudo cargar la clase porque faltaba el ensamblaje que contenía (... ApplicationServices).

+0

gracias! eso me estaba volviendo loco ... –

+0

Gracias ... estaba teniendo el mismo problema ... – Tracker1

+3

Como nota adicional, tuve que eliminar la referencia a System.Web. Agregue System.Web.ApplicationServices y luego vuelva a agregar System.Web. –

3

Acabo de solucionar este problema al crear un proveedor de membresía personalizado para mi aplicación web. Debe eliminar la referencia a System.Web y agregar las siguientes referencias. - System.Web.ApplicationServices - System.Configuration