web-dev-qa-db-fra.com

configurationManager n'existe pas dans l'espace de noms System.Configuration

J'ai utilisé l'espace de noms suivant pour connecter mon projet au serveur SQL:

using System.Configuration;

et aussi utilisé

string str=System.Configuration.ConfigurationSettings.AppSettings["myconnection"];
SqlConnection oconnection = new SqlConnection(str);
oconnection.Open();

lorsque j'exécute le programme, une erreur s'est produite et affiche le message

'System.Configuration.ConfigurationSettings.AppSettings' est obsolète. Cette méthode est obsolète, elle a été remplacée par 'System.Configuration! System.Configuration.ConfigurationManager.AppSettings '

mais je n'ai pas trouvé ConfigurationManager dans cet espace de noms et pour oconnection.Open();, le message est

InvalidOperationException

a été laissé à l'abandon.

Que puis-je faire?

47
Mohibullah

Accédez aux références et ajoutez une référence à System.Configuration

Une fois cela fait, vous devriez pouvoir référencer System.Configuration.ConfigurationManager.

string str = System.Configuration.ConfigurationManager.AppSettings["myconnection"];
SqlConnection oconnection = new SqlConnection(str);
oconnection.Open();

Depuis MSDN: La classe ConfigurationManager vous permet d'accéder aux informations de configuration de la machine, de l'application et de l'utilisateur. Cette classe remplace la classe ConfigurationSettings, qui est obsolète.

http://msdn.Microsoft.com/en-us/library/system.configuration.configurationmanager.aspx


Edit: Informations complémentaires

En référence à la InvalidOperationException. Cela est dû au fait que la chaîne de connexion ne spécifie pas de source de données ni de serveur. Je devine que votre chaîne de connexion est vide.

Dans votre web.config, vérifiez l'emplacement de votre chaîne de connexion. Si cela tombe sous l'élément, vous devrez alors changer votre code pour rechercher ConnectionStrings et non pas AppSettings.

string str = System.Configuration.ConfigurationManager.
    ConnectionStrings["myconnection"].ConnectionString;
76
Khan

Si vous avez plusieurs projets dans la solution, vous devez ajouter la référence System.Configuration à chacun d’eux pour que ConfigurationManager puisse travailler sur l’un d’eux.

28
kschieck

Ajoutez une référence de: System.Configuration.dll dans votre projet, alors ConfigurationManager sera disponible.

15
Amit K.S