2010-08-10 24 views
5
var values = new NameValueCollection 
{ 
    { "key", ConfigurationSettings.AppSettings["API-Key"].ToString() }, 
    { "image", Convert.ToBase64String(File.ReadAllBytes(photo.ToString())) } 
}; 

¿Cuál es la nueva forma de utilizar el archivo app.config?ConfigurationSettings.AppSettings es obsoleto, advertencia

+0

Posible duplicado de [El nombre 'ConfigurationManager' no existe en el contexto actual] (http://stackoverflow.com/questions/1274852/the-name-configurationmanager-does-not-exist-in-the-current -context) – Matt

Respuesta

16

La clase ConfigurationManager en System.Configuration:

ConfigurationManager.AppSettings 

ConfigurationManager.ConnectionStrings 

lo que el código podría cambiar a:

var values = new NameValueCollection 
{ 
    { "key", ConfigurationManager.AppSettings["API-Key"] }, 
    { "image", Convert.ToBase64String(File.ReadAllBytes(photo.ToString())) } 
}; 

Asegúrese de agregar una referencia a System.Configuration junto con la declaración de usingSystem.Configuration.

+0

Si no puede ver ConfigurationManager, consulte este enlace: http://stackoverflow.com/questions/1274852/the-name-configurationmanager-does-not-exist-in-the-current-context –

6

utilizar la clase System.Configuration.ConfigurationManager

string ServerName = System.Configuration.ConfigurationManager.AppSettings["Servername"]; 

Editar - añadió

Nota, es posible que tenga que añadir una referencia a System.Configuration .dll. Incluso si puede importar el espacio de nombres sin la referencia, no podrá acceder a esta clase a menos que tenga la referencia.

+0

Eso es realmente extraño, el espacio de nombres System.Configuration importado, pero la clase ConfigurationManager todavía aparece en rojo. Es como si no fuera parte del espacio de nombres. ¿Alguna sugerencia? Intenté hacer clic derecho y resolver, pero no dados. –

+1

Ver mi nota agregada. Eso me tiró la primera vez también. Creo que me llevó una media hora descubrirlo. – David