Tengo un ensamblado C# que usa app.config para almacenar su cadena de conexión de base de datos. Al depurar la aplicación, noté que la conexión con la base de datos no funcionaba porque el ConfigurationManager no dejaba de devolver la cadena de conexión machine.config:ConfigurationManager sigue obteniendo cadena de conexión Machine.config
data source =. \ SQLEXPRESS; Integrated Security; ....
Agregué <clear/
> antes de mi cadena de conexión en la aplicación.config y solucionó el problema en mi máquina dev. El problema volvió cuando lo implementé en producción. ¿Alguien puede decirme cómo puedo detener el machine.config cadena de conexión de ser utilizado?
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings[0].ConnectionString);
<connectionStrings>
<clear/>
<add name="VersionConnectionString"
connectionString=" Data Source=localhost;Initial Catalog=VersionInfo;User ID=user;Password=password"
providerName="System.Data.SqlClient" />
</connectionStrings>
ACTUALIZACIÓN
El siguiente todavía me da la cadena de conexión machine.config ?!
Configuration appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
string dllConfigData =
appConfig.ConnectionStrings.ConnectionStrings[0].ConnectionString;
Sé que es una publicación anterior, pero aún tengo curiosidad, ¿se trata de una aplicación de escritorio o consola? ¿Ve la sección de la cadena de conexión con el elemento claro en el directorio de salida (bin)? –
Todavía tengo el problema en mi aplicación. Agregué códigos claros o usados a continuación y copié el archivo de configuración a la carpeta exe, pero todavía está obteniendo datos predeterminados. Estoy usando VS2015. – Amir
Tuve el mismo problema. Tenía la cadena de conexión correcta en el proyecto de 'biblioteca de clase' que utilicé y dejé el 'web.config' vacío en el proyecto 'Web'. Tan pronto como agregué lo mismo en el proyecto web, funcionó bien para mí. En caso de que tenga varios proyectos en una solución – Sugafree