ConfigurationManager sigue obteniendo la cadena de conexión Machine.config

Tengo un ensamblaje de C # que usa app.config para almacenar la cadena de conexión de la base de datos. Al depurar la aplicación, noté que la conexión a la base de datos seguía fallando porque ConfigurationManager seguía devolviendo la cadena de conexión machine.config:

fuente de datos =. \ SQLEXPRESS; Seguridad integrada;....

yo añadí<clear/> antes de mi cadena de conexión en app.config y solucionó el problema en mi máquina de desarrollo. El problema regresó cuando lo implementé en producción. ¿Alguien puede decirme cómo puedo detener el uso de la cadena de conexión machine.config?

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>

ACTUALIZAR

¿Lo 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;

Respuestas a la pregunta(4)

Su respuesta a la pregunta