Solved

Problem reading app.config file

Posted on 2006-11-16
8
331 Views
Last Modified: 2010-04-23
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
Comment
Question by:johnnyg123
  • 5
  • 3
8 Comments
 

Author Comment

by:johnnyg123
ID: 17960464
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
 

Author Comment

by:johnnyg123
ID: 17960938
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
 
LVL 5

Expert Comment

by:DEEPESH
ID: 17962748
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
 

Author Comment

by:johnnyg123
ID: 17966786
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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 5

Accepted Solution

by:
DEEPESH earned 500 total points
ID: 17970527
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
 
LVL 5

Expert Comment

by:DEEPESH
ID: 17970705
Hi Johnnyg have you tried this
0
 

Author Comment

by:johnnyg123
ID: 17980878
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
 

Author Comment

by:johnnyg123
ID: 17990406
Deepesh,

Thanks for your input.


I found a hack work around but wanted to acknowledge your contributions.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: http://www.codetwo.com/backup-for-office-365/ (http://www.codetwo.com/ba…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now