.Net 4.0-System.Web.Sicherheit.MembershipProvider mehrdeutigen Verweis?
Habe ich vor kurzem aktualisiert meine BlogEngine.Net installation auf 1.6 und .Net 4.0, allerdings wollte ich nicht bauen, BlogEngine.Core, wenn ich das upgrade durchgeführt. Jedoch, wenn ich versuche, die BlogEngine.Core-Projekt, das kompilieren schlägt fehl, weil es nicht laden kann, die Symbole für (System.Web.Sicherheit.)MembershipProvider. Ich glaube, das ist eine .Net/C#/user problem eher als eine BlogEngine Problem.
Das Projekt hat einen Verweis auf die Bibliothek System.Web, und die class-Datei (die erbt von MembershipProvider) schließt eine Verwendung für das System.Web.Sicherheit. Mit ReSharper aktiviert, IntelliSense zeigt Verwirrung um die Mitgliedschaft Anbieter gibt eine Wahl von zwei Bibliotheken mit dem gleichen Namen (System.Web.Security).
Was verursacht haben könnte diese mehrdeutigen Verweis? Wie kann ich ermitteln, welche zwei Bibliotheken, auf die verwiesen werden? Offensichtlich nichts deutet auf eine doppelte Referenz. Dann wieder, das offensichtliche wirklich offensichtlich, sobald Sie es sehen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem gelöst. System.Web.Security-namespace ist ein Mitglied des Systems.Web, aber es ist auch ein Mitglied des System.Web.ApplicationServices. Hatte das Projekt einen Verweis auf System.Web -, und eine using-Anweisung referenziert wird System.Web.Sicherheit, so dass IntelliSense nicht werfen eine Flagge bei der Angabe der Klasse. Jedoch wurde das Projekt fehlt ein Verweis auf System.Web.ApplicationServices. Das Projekt hatte eine Referenz auf die Klasse, aber es konnte nicht die Klasse laden, weil die mit der Montage (...ApplicationServices) fehlte.
Ich nur befasste sich mit diesem gleichen Problem beim erstellen eines benutzerdefinierten Mitgliedschaftsanbieter für meine web-Anwendung. Sie müssen entfernen Sie den Verweis auf System.Web, und fügen Sie die folgenden Verweise.
- System.Web.ApplicationServices
- System.Konfiguration