Can't edit or view appsettings and appblocks config with EntLib v3 integrated config tool

Topics: Enterprise Library Core
Jan 16, 2007 at 3:54 PM
I'm having trouble working with the integrated Config tool of the Entreprise Library v3.

I had App.config that was previously edited with v2, before I installed v3. The v3 standalone config tool can't open that file. It "should" be backward compatible, right?

Anyway, so I decided to start from scratch and create a blank App.config. I added a appsettings section. When I view it with the v3 standalone config tool, I see "Application Settings" and "Data Access Application Block". So that's OK. But when I open it with "right-click - open with - Entreprise Library Configuration Editor" from VS.NET, all I see is the following hierarchy:

- Entreprise Library Configuration
|- c:\projets\PAIPP\PAIPPWinApp\App.config

and nothing else !!

I can't add (right-click - New) nor rename.

I really don't see what I'm doing wrong. Thanks for your help. Will be much appreciated!

Jan 17, 2007 at 12:41 AM
It is "backwards compatible."

Are you having any other problems? Can you get the quickstarts to run? Are the blocks running fine?

How about Visual Studio 2005 - is it installed in the default installation directory? What version of Windows are you running - XP SP2, 2003, Vista, etc.? 32bit or 64bit? English or other language?

Have you tried uninstalling EntLib3 via Add/Remove Programs and reinstalling again?

My initial thought is to first try uninstalling and reinstalling just to see if it will fix the problem.




David Hayden
Microsoft MVP C#
Jan 17, 2007 at 9:00 PM
The only problems i'm having are

1) Opening App.config (with the standalone config tool v3) that was edited with version 2.0 of the config tool.

Here are the errors:

Unable to load assembly "Microsoft.Practices.EntrepriseLibrary.ExceptionHandling, Version=
Unable to load assembly "Microsoft.Practices.EntrepriseLibrary.Logging, Version=
One or more errors occurred while trying to open the configuration.

2) Opening App.config with the integrated config tool. It only shows the beginning of the hierachy, as I mentionned in my first post.


- I reinstalled, rebooted after uninstall and reinstall, so that's definitely out of the equation.
- The quickstarts run just fine
- It is installed in the default installation location (C:\Program Files\Microsoft Enterprise Library 3.0 - December 2006 CTP\)
- Visual Studio .NET is installed in its default location (C:\Program Files\Microsoft Visual Studio 8)

I'm running XP Pro 2002, SP2, French version.

I read a post in the Release EntLib3.0 Dec2006CTP Beta section ( about the Enterprise Library Configuration Editor not working with non English OS. In my case though, I don't have an error popping up like the one mentionned in the post.

My guess is it has to do with my OS language. Ugh.

I would really appreciate being able to use the integrated tool for it allows securring sections in the app.config easily. Also because it'll allow developpers to change and add appsettings from visual studio in a visual way. Are there no-code alternatives to securring sections to protect passwords and connection strings in app.config without using the integrated config tool?


Mathieu Tanguay
Jan 17, 2007 at 10:50 PM
Hi Mathieu -

Sorry to hear you're having problems. We've made a lot of changes to the logic for how VS loads the EntLib assemblies, so hopefully the problem will be gone in the next CTP (which should be out in the next few days).

In the meantime, it is possible to encrypt config files without needing to write code - see for a description.

Jan 19, 2007 at 5:06 PM
Thank you for your quick answer. If I'm not mistaken though, the framework 2.0 does not support encrypting App.config sections, only ASP.NET Web.Config and Machine.config sections.

Since my application is a Smart client, I'll wait for the next CTP release.

Jan 19, 2007 at 6:26 PM
Actually encryption of app.config files is supported by the .NET Framework, just not by the tool described in that article. I believe you can trick the tool by renaming your app.config to web.config (yes, it's a hack :-). But the EntLib 3.0 tool will certainly make this more accessible.

Jan 22, 2007 at 6:58 PM
Renaming app.config to web.config.. Hmm ;)

Anyway, that won't be necessary in my case. I tried the Jan 2007 CTP and the problem I had with the integrated config tool is now gone. Good job! And thank you for taking time to answer my questions.

Let me give a quick suggestion, if you allow me, about the config tool. For the project I'm working on, application operators (i.e. config administrators) will be using the standalone entlib config tool to edit mainly appSettings and connection strings. We would like to be able to:

1) Hide sections in the config from the operator (for example, certain application blocks that this person should not change).
2) Incorporate help inside the config tool about using it and how to change settings.

I think those needs are present across most projects and they would definitely be nice to have.

I'm actually looking into it to see whether or not this is possible, or if we'll stick with the classical approach (help word document about configuring the application).

Any thoughts on that?

Have a good day,

Jan 22, 2007 at 9:29 PM
Hi Mathieu -

Good to hear the Januari CTP fixed your problem with the appSettings.

your questions:
"1) Hide sections in the config from the operator (for example, certain application blocks that this person should not change)."

> You should be able to give someone a version of the tool and leave some of the Configuration.Design assemblies out.

If you remove the Logging.Configuration.Design.dll assembly this section cannot be edited in the standalone tool.

In order to only have the ability to modify appSettings and connectionstrings, remove all Something.Configuration.Design.dll assemblies, except for data and appSettings.

"2) Incorporate help inside the config tool about using it and how to change settings."

>Currently it is not possibly to add help inside the configuration tools UI. Well, you possibly could -but this requires you to write an extension to the configuration tool (similar to the Configuration.Design assemblies) that adds this sort of functionality. Unfortunately not a trivial task.