Solved

AppSetting in C# in WinForm App

Posted on 2009-07-12
8
1,698 Views
Last Modified: 2013-12-17
I'm doing something stupid, but can't see it.

Trying to read a configuration value out of app settings. File is:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
      <configSections>
  <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
   <section name="CSharpPushKDX.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </sectionGroup>
 </configSections>
 <applicationSettings>
  <CSharpPushKDX.Properties.Settings>
   <setting name="LogFilePath" serializeAs="String">
    <value>C:\Saros\SarosNet35\PushKDX\PushKDX\PushKDX%d%.log</value>
   </setting>
  </CSharpPushKDX.Properties.Settings>
 </applicationSettings>
</configuration>

Code is:

            string lsAnswer = "";
            try
            {
                lsAnswer = System.Configuration.ConfigurationManager.AppSettings.Get("LogFilePath");
                lsAnswer = System.Configuration.ConfigurationManager.AppSettings["LogFilePath"];
                lsAnswer = ConfigurationSettings.AppSettings["LogFilePath"];
            }
            catch
            {
                lsAnswer = "";
            }

Note that I have tried to get the desired value three different ways. All return null.

I'm trying to switch over from VB.NET to c# with this project, so I expect some dumb translation issue.

Thanks...
0
Comment
Question by:kwebster7327
  • 4
  • 3
8 Comments
 
LVL 3

Expert Comment

by:eirikurh
ID: 24835774
try
string lsAnswer = Properties.Settings.Default.LogFilePath
0
 
LVL 6

Expert Comment

by:microbolt
ID: 24835780
Try it like this:

lsAnswer = Properties.Settings.Default.LogFilePath
0
 
LVL 1

Author Comment

by:kwebster7327
ID: 24835843
The name 'Properties' does not exist in the current context.
0
 
LVL 6

Accepted Solution

by:
microbolt earned 500 total points
ID: 24835875
Make sure there there are no namespace issues. The fully qualified name of the Resources class would be YourProject.Properties.Resources, so if something has caused the Form to be placed in a different namespace from your Properties class, you would need to use the fully qualified name to access it from the form. Use the Object Browser to browse your solution and figure out what the namespace of your Properties class is.
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 1

Author Comment

by:kwebster7327
ID: 24836607
Close! If I move it back into the main namespace, it. works.

I'm trying to make this part of a general-purpose, reusable function, so I guess I'll need to figure out how to pass the namespace name into it?

Also, this references the default value of the parameter. If the value gets changed after deployment, will that new value get picked up or will we always get the default?

Thanks...
0
 
LVL 6

Expert Comment

by:microbolt
ID: 24836944
You can just Import the main namespace at the top of your file and it should work as well.  Then when you use it in multiple projects just change the Import at the top.
0
 
LVL 1

Author Comment

by:kwebster7327
ID: 24839565
Assume you me "using" instead of "imports" - this is C#.

0
 
LVL 6

Expert Comment

by:microbolt
ID: 24844601
Yep, had an brain fart =D
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

760 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

23 Experts available now in Live!

Get 1:1 Help Now