Geçtiğimiz günlerde, içerisinde özelleştirilmiş MembershipProvider kullandığımız bir .NET Framework 4.0 projesinde ilginç bir sorunla karşılaştım. Kod içerisinde MembershipUser class’ını kullanmak istediğimde aldığım hata mesajı şöyleydi:
The type or namespace name ‘MembershipUser’ could not be found (are you missing a using directive or an assembly reference?)
Halbuki MembershipUser class’ı System.Web.Security namespace’inde yer alır ve bu namespace içerisindeki tiplere de bir ASP.NET projesinden doğrudan erişilir dedim kendi kendime. Yanlış yazıyor olamam, eksik referans olamaz derken işin içerisinden çıkamadım ve biraz araştırma sonucunda sorunun sebebini buldum. ASP.NET 4.0’da Membership API içerisinde yer alan MembershipUser, MembershipProvider gibi bir çok sınıfın System.Web.ApplicationServices.dll assembly’sine taşınmış. Dolayısıyla bir ASP.NET 4.0 projesinde Membership API içerisindeki sınıfları kullanma ihtiyacınız olursa, bu assembly’i projenizin References kısmına eklemeniz gerektiğini unutmayın. Bu arada, kavram karmaşası olmasın; ilgili tipler hala System.Web.Security namespace’inde bulunuyor, sadece bu isim alanı içerisindeki ilgili bahsi geçen tipler farklı bir dll’e taşınmış durumda.
Konu ile ilgili detaylı bilgiyi bu linkten bulabilirsiniz.
Teşekkürler bilgilendirici bir yazı olmuş