L'énigme de la visibilité des espaces de noms de Visual Studio 2010
Dans Visual Studio 2010, un problème déroutant est apparu où les espaces de noms d'un projet DLL deviennent soudainement invisibles pour un projet exécutable référençant (Sandbox). Ce problème survient après l'ajout de System.Web et d'un code apparemment inoffensif au projet DLL.
Dépannage
Tentatives initiales pour résoudre le problème en supprimant et en rajoutant la DLL La référence dans le projet Sandbox apporte un soulagement temporaire, mais le problème persiste lors de la tentative de création de la solution. Le navigateur d'objets dans Visual Studio confirme la présence de l'espace de noms dans la référence du projet DLL.
Indices et résolutions
Après avoir soigneusement examiné les modifications, une ligne de code spécifique a été identifié comme le coupable apparent :
string url = "http://maps.google.com?q=" + HttpUtility.UrlEncode(address);
Commenter cette ligne élimine les erreurs d'espace de noms et permet au projet de construire avec succès.
Le bug révélé
Le problème provient de la sélection par défaut du profil client .NET Framework 4 dans les paramètres Target Framework pour les projets concernés. Ce profil exclut System.Web, qui est requis pour le code en question.
Le correctif
La solution consiste à modifier manuellement le Framework cible en ".NET Framework 4" dans les propriétés du projet sous l'onglet Application. Cela garantit que la version complète de .NET Framework 4 est utilisée, ce qui inclut System.Web.
Futures améliorations
Dans Visual Studio 2012, ce problème a été résolu en éliminant le Profil client comme sélection par défaut pour les nouveaux projets. Avec le retrait du profil client dans .NET 4.5, ce problème a été définitivement résolu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!