2010-09-14 18 views
15

Niedawno uaktualniłem moją instalację BlogEngine.Net do wersji 1.6 i .Net 4.0, jednak nie budowałem BlogEngine.Core podczas przeprowadzania aktualizacji. Jednak, gdy próbuję teraz zbudować projekt BlogEngine.Core, kompilacja nie powiedzie się, ponieważ nie może załadować symboli dla (System.Web.Security.) MembershipProvider. Uważam, że jest to problem .Net/C#/user, a nie kwestia BlogEngine..Net 4.0 System.Web.Security.MembershipProvider niejednoznaczne odwołanie?

Projekt ma odniesienie do biblioteki System.Web, a plik klasy (który dziedziczy z MembershipProvider) zawiera plik Using for System.Web.Security. Po włączeniu ReSharper, IntelliSense wskazuje na nieporozumienie, który dostawca członkostwa ma używać, wybierając dwie biblioteki o tej samej nazwie (System.Web.Security).

Co mogło spowodować to niejednoznaczne odwołanie? Jak ustalić, do których odwołuje się dwóch bibliotek? Nic oczywistego nie wskazuje na powielone odniesienie. Z drugiej strony oczywiste jest naprawdę oczywiste, gdy już to zobaczysz.

Odpowiedz

37

Problem rozwiązany. Przestrzeń nazw System.Web.Security jest członkiem System.Web, jednak jest także członkiem System.Web.ApplicationServices. Projekt miał odniesienie do System.Web, a instrukcja using odwołuje się do System.Web.Security, więc IntelliSense nie rzucił flagi podczas określania klasy. Jednak w projekcie brakowało odniesienia do System.Web.ApplicationServices. Projekt odwoływał się do klasy, ale nie mógł załadować klasy, ponieważ brakowało zespołu zawierającego (... ApplicationServices).

+0

dziękuję! to doprowadzało mnie do szału ... –

+0

Dzięki ... miałem ten sam problem ... – Tracker1

+3

Jako dodatkową uwagę, musiałem usunąć odniesienie do System.Web. Dodaj System.Web.ApplicationServices, a następnie ponownie dodaj System.Web. –

3

Właśnie zajmowałem się tym samym problemem podczas tworzenia niestandardowego dostawcy członkostwa dla mojej aplikacji internetowej. Musisz usunąć odniesienie do System.Web i dodać następujące odniesienia. - System.Web.ApplicationServices - System.Configuration