Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 371
  • Last Modified:

Problem reading app.config file

I have a user control that started by retrieving connection entry from a registry entry.  I created a form that uses the version of the control that read the connection from the registry.   I then changed the control to read the connection setting from an app.config file.   The application seemed fine.

Now when I try to create a new form using the user control by dragging and droping the usercontrol from the toolbox, I'm getting a msgbox with an error saying Error retrieving connection string from configuration file in BaseDAL.vb file and the control is not added to the form.

After putting in countless msgboxes I found where the problem is happening.......

           Dim strConnectionString As String

            strConnectionString = ConfigurationSettings.AppSettings("ConnectionString")

            MsgBox(strConnectionString)

            If strConnectionString <> "" Then
                m_sConnekStrg = strConnectionString
            Else
                Throw New Exception("Error retrieving connection string from configuration file in BaseDAL.vb file.")
            End If

The messagebox displays with blanks which tells me the app file is not being read correctly

I can see the control appear in the form.  when I click ok, the control disappears from the form and the
Error retrieving connection string from configuration file in BaseDAL.vb file appears.


Not sure why this is happening....


App file is read fine in the form containing the control before I made the change from reading from registry.   Doesn't if I try to put updated control on a new form.


any ideas?
0
johnnyg123
Asked:
johnnyg123
  • 5
  • 3
1 Solution
 
johnnyg123Author Commented:
Here is the config file

The app is named customer so the file name is

Customer.exe.config and located in the /bin folder of the app exe




<?xml version="1.0" encoding="utf-8"?>
<configuration>
      <appSettings>

 <add key="ConnectionString" value="Persist Security Info=True;User ID=cust_app;Password=custapp;Initial Catalog=CustomerInfo;Data Source=webprd01;Application Name=Customer Info Tracking;Connect Timeout=60"/>
 <add key="LastUpdated" value="10/12/06"/>

 </appSettings>
</configuration>
0
 
johnnyg123Author Commented:
if I  set strConnectionString  to the string in the config file it works fine.   is it possible the config file should be in multiple places?


please...please  help


I've spent way to0 much time on this
0
 
DEEPESHCommented:
This is the limitation of app.config file that it should lie under executable path, now when your user control integrates with an parent application, it going to read parent config not the one which of user control, so you have to make rConnectionString  part  of parent config file.

Meanwhile you can try using
ConfigurationManager.OpenExeConfiguration()
command by giving path so that it picks user control config file, lets see if it works????
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
johnnyg123Author Commented:
unfortunately, not familiar with ConfigurationManager.OpenExeConfiguration()


Can you please give me an example?

I would replace

 Dim strConnectionString As String

            strConnectionString = ConfigurationSettings.AppSettings("ConnectionString")

            MsgBox(strConnectionString)

            If strConnectionString <> "" Then
                m_sConnekStrg = strConnectionString
            Else
                Throw New Exception("Error retrieving connection string from configuration file in BaseDAL.vb file.")
            End If


0
 
DEEPESHCommented:
ok first try this
 Dim config As System.Configuration.Configuration
        config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
        Dim value As String
        value = ConfigurationManager.AppSettings(TextBox1.Text)
        MsgBox(value)


and if it not works then use this

        Dim config As System.Configuration.Configuration
        config = ConfigurationManager.OpenExeConfiguration("C:\Documents and Settings\Administrator\Desktop\DOTNETAPP\WinAppl\WindowsConsumeApplication\app.config")
        Dim value As String
        value = ConfigurationManager.AppSettings("a")
        MsgBox(value)
0
 
DEEPESHCommented:
Hi Johnnyg have you tried this
0
 
johnnyg123Author Commented:
I am getting a type exepected error  in the

Dim config As System.Configuration.Configuration


I have


Imports System
Imports System.Configuration
Imports Microsoft.Win32
Imports System.Data.SqlClient
Imports System.Convert
Imports System.Object
Imports System.Collections
Imports System.Data.DataSet
Imports System.XML
Imports System.IO


Am I missing something?
0
 
johnnyg123Author Commented:
Deepesh,

Thanks for your input.


I found a hack work around but wanted to acknowledge your contributions.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now