2010-09-14 5 views
15

J'ai récemment mis à niveau mon installation BlogEngine.Net vers la version 1.6 et .Net 4.0, mais je n'ai pas créé BlogEngine.Core lorsque j'ai effectué la mise à niveau. Toutefois, lorsque j'essaie de générer le projet BlogEngine.Core maintenant, la compilation échoue car elle ne peut pas charger les symboles pour (System.Web.Security.) MembershipProvider. Je crois qu'il s'agit d'un problème .NET/C#/utilisateur plutôt que d'un problème BlogEngine..Net 4.0 System.Web.Security.MembershipProvider Référence ambiguë?

Le projet a une référence à la bibliothèque System.Web et le fichier de classe (qui hérite de MembershipProvider) inclut un Using for System.Web.Security. Avec ReSharper activé, IntelliSense indique la confusion quant au fournisseur d'appartenance à utiliser donnant un choix de deux bibliothèques du même nom (System.Web.Security).

Qu'est-ce qui aurait pu causer cette référence ambiguë? Comment puis-je déterminer les deux bibliothèques référencées? Rien d'évident n'indique une référence en double. Là encore, l'évidence est vraiment évidente une fois que vous le voyez.

Répondre

37

Problème résolu. L'espace de noms System.Web.Security est membre de System.Web, mais il est également membre de System.Web.ApplicationServices. Le projet avait une référence à System.Web et une instruction using référencée System.Web.Security, donc IntelliSense n'a pas lancé d'indicateur lors de la spécification de la classe. Toutefois, le projet manquait une référence à System.Web.ApplicationServices. Le projet avait une référence à la classe, mais il ne pouvait pas charger la classe car l'assembly conteneur (... ApplicationServices) était manquant.

+0

merci! cela m'a conduit batty ... –

+0

Merci ... avait le même problème ... – Tracker1

+3

Comme une note ajoutée, j'ai dû supprimer la référence à System.Web. Ajoutez System.Web.ApplicationServices, puis ajoutez à nouveau System.Web. –

3

Je viens de traiter ce même problème lors de la création d'un fournisseur d'appartenances personnalisé pour mon application Web. Vous devez supprimer la référence à System.Web et ajouter les références suivantes. - System.Web.ApplicationServices - System.Configuration