2009-11-02 4 views
3

Je ne parviens tout simplement pas à obtenir Visual Studio 2005 pour trouver la classe System.Configuration.ConfigurationManager. Voici le code:Impossible d'obtenir une référence à ConfigurationManager

using System.Configuration; 

... 

x = ConfigurationSettings.AppSettings["MySetting"] 
// The name 'ConfigurationManager' does not exist in the current context 

x = System.Configuration.ConfigurationManager.AppSettings["MySetting"] 
// The type or namespace name 'ConfigurationManager' does not exist in the 
// namespace 'System.Configuration' (are you missing an assembly reference?) 

Je suis absolument, positivement faire ont une référence à System.Configuration dans le projet et il est sans aucun doute dans le droit projet. La DLL est la version 2.0.0.0 et la version d'exécution est 2.0.50727 - exactement la même que toutes les autres. J'ai essayé d'enlever la référence et de l'ajouter de nouveau. Une chose étrange est que quand il est affiché dans le dossier 'Références' du projet, il est affiché comme 'System.configuration' - avec un 'c' minuscule.

Visual Studio peut trouver la classe System.Configuration.ConfigurationSettings sans autre problème que l'avertissement d'obsolescence. Le projet est un projet web et le code est dans le code-behind d'un WebControl.

Des idées ce qui se passe ici?

Répondre

2

Le "c" minuscule de la référence est normal. Votre code fonctionne très bien pour moi. Je me demande s'il y a un problème en dehors de l'extrait que vous nous avez montré. Essayez de créer une toute nouvelle solution avec juste un appel pour référencer sa configuration. Prouver que cela fonctionne.

+0

Merci pour la suggestion. Il s'avère que le runtime .NET a été foiré car le compte sur lequel il était installé n'avait pas assez de droits. Une réinstallation complète avec un compte 'dieu' a résolu le problème. Très étrange. – TallGuy

13

Avez-vous ajouté une référence à System Assembly System.Configuration.dll? AppSettings IIRC est dans la bibliothèque principale de BCL, ConfigurationManager 2.0 est dans l'assembly séparé.

+0

J'avais exactement le même problème. Le fait que VS2005 semblait connaître l'espace de noms System.Configuration m'a ébranlé. Une fois que j'ai ajouté la référence à System.Configuration.dll, le ConfigurationManager est devenu disponible. Merci! –

Questions connexes