211 votos

El nombre 'ConfigurationManager' no existe en el contexto actual

Estoy tratando de acceso connectionstrings desde el archivo de configuración. El código es ASP.NET + C#. He añadido System.Configuration de referencia y también se menciona con el uso. Pero, todavía no aceptan la asamblea.

Yo estoy usando el de VSTS 2008. Alguna idea de lo que podría ser la razón? Otra cosa extraña es el nombre del ensamblado que se muestra como "System.configuration", una minúscula c, que no es cómo se muestran los nombres para otro Sistema assembleis.

Gracias!

AÑADIDO CÓDIGO:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;

namespace Utility
{
    public class CommonVariables
    {
        public static String ConnectionString
        {
            get { return ConfigurationManager.ConnectionStrings["EmployeeEntities"].ConnectionString; }
        }  
    }  
}

Archivo de configuración:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="qbankEntities" connectionString="metadata=res://*/qbankModel.csdl|res://*/qbankModel.ssdl|res://*/qbankModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=qbank;Persist Security Info=True;User ID=**;Password=****;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

405voto

Kieran Puntos 4268

No sólo es necesario utilizar el espacio de nombres System.Configuration. También tienes que añadir la referencia al ensamblado System.Configuration.dll, por derecho del ratón-ción en la ficha Referencias, elija agregar una referencia y luego encontrar System.Configuration. Esto va a funcionar con seguridad. También para el NameValueCollection tienes que escribir: usando System.Collections.Specialized;

40voto

Rameez Puntos 71

En su proyecto, haga clic en Agregar Referencia... En el .NET ficha encontrar el "System.Configuration" nombre del componente y haga clic en ACEPTAR.

"using System.Configuration" indica al compilador/IntelliSense para la búsqueda en el espacio de nombres de cualquiera de las clases que usted use. De lo contrario, tendría que utilizar el nombre completo (System.Configuration.Configurationmanager) todo el tiempo. Pero si no añade la referencia, que/espacio de nombres de la clase no se encuentra en cualquier lugar.

Tenga en cuenta que un archivo DLL puede tener cualquier espacio de nombres, por lo que el archivo System.Configuration.dll en teoría, podría tener el espacio de nombres "Some.Random.Name". Para mayor claridad, consistencia son generalmente de la misma, pero hay excepciones.

ali.rameez72@yahoo.com

18voto

pencilslate Puntos 2795

Ok .. funcionó después de reiniciar el VSTS. El enlace sugirió la solución para el mismo problema. Ojalá pudiera haber visto antes. :)

6voto

Emu Puntos 31

He conseguido una mejor solución configurationmanager does not exist in the current context. Que muestra el paso a paso de la solución gráfica.

Leer cadena de conexión del web.config necesitamos usar configurationmanager de la clase y de su método, que clase raíz es System.Configuration; Si desea utilizar deberá agregar el espacio de nombres utilizando System.Configuration;

Aunque usted utiliza este espacio de nombres, cuando se intenta utilizar la clase configurationmanager, a continuación, el sistema muestra un error "configurationmanager no existe en el contexto actual". Para resolver Este Problema:

ConfigurationManager.ConnectionStrings["ConnectionSql"].ConnectionString; 

--- para leer el artículo completo, por favor siga el enlace: http://www.dotnetboss.com/2010/11/11/configurationmanager-does-not-exist-in-the-current-context/

4voto

Dan Diplo Puntos 16133

¿Seguro de que haya añadido una referencia al ensamblado Framework y no otra cosa? Me quito su referencia y luego intente volver a agregarlo, asegurándose de que usted seleccione en la pestaña NET en el diálogo de referencia de Visual Studio - la última versión debe ser 2.0.0.0 en GAC.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X