[英]Cannot implicitly convert type 'System.Web.Security.MembershipProvider' to 'WebMatrix.WebData.ExtendedMembershipProvider'
[英].Net 4.0 System.Web.Security.MembershipProvider ambiguous reference?
我最近將BlogEngine.Net安裝升級到1.6和.Net 4.0,但是,當我執行升級時,我沒有構建BlogEngine.Core。 但是,當我嘗試現在構建BlogEngine.Core項目時,編譯失敗,因為它無法加載(System.Web.Security。)MembershipProvider的符號。 我認為這是一個.Net / C#/用戶問題而不是BlogEngine問題。
該項目引用了庫System.Web,類文件(繼承自MembershipProvider)包含一個Using for System.Web.Security。 啟用ReSharper后,IntelliSense會指出使用哪個成員資格提供程序可以選擇兩個同名的庫(System.Web.Security)。
什么可能導致這種模棱兩可的參考? 如何確定引用哪兩個庫? 沒有任何明顯的表明重復的參考。 然后,一旦你看到它,顯而易見的是顯而易見的。
問題解決了。 System.Web.Security命名空間是System.Web的成員,但它也是System.Web.ApplicationServices的成員。 該項目引用了System.Web,並使用了一個引用System.Web.Security的using語句,因此IntelliSense在指定類時沒有拋出標志。 但是,該項目缺少對System.Web.ApplicationServices的引用。 該項目引用了該類,但它無法加載該類,因為缺少包含程序集(... ApplicationServices)。
在為我的Web應用程序創建自定義成員資格提供程序時,我剛剛處理了同樣的問題。 您需要刪除對System.Web的引用並添加以下引用。 - System.Web.ApplicationServices - System.Configuration
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.