Okay, I can see that this is going to be a long series ....
Here's what I'm talking about on how to get Visual Studio to see Enterprise Library assemblies without browsing (taken from the GotDotNet workspace patterns & practices: Enterprise Library: Message Boards):
"Do you want to see EntLib assemblies in Add References message box?
Create a text file named entlib.reg, and add this content:
Windows Registry Editor Version 5.00
@="C:\\Program Files\\Microsoft Enterprise Library\\bin\\"
Double click on the file and you'll be asked whether to add this registry key. Click yes, restart vs.net and there you go.
(it is assumed that assemblies are in their default folder - otherwise, change the path above)."
Sigh. I really really try to avoid the Registry when possible.
There's another neat trick for sorting out the structure of the Enterprise Library: open one of the solutions in Visual Studio, select Project-> Visio UML -> Reverse Engineer.
Too bad all it actually does is generate a 75K blank Visio file, because Visio is unable to resolve all of the references.
I suppose this will work for code that's so simple that a UML diagram isn't needed.
Moving right along, I've also found how to sign all of the Enterprise Library Asemblies! You just generate your public/private key pair, and then reference them in the GlobalAssemblyInfo.cs file in:
C:\Program Files\Microsoft Enterprise Library\src
This file gets referenced by every project when it's compiled. Yay!
Except that every project's AssemblyInfo.cs contains blank references:
[assembly : AssemblyDelaySign(false)]
[assembly : AssemblyKeyFile("")]
[assembly : AssemblyKeyName("")]
Which overwrite what gets pulled in from GlobalAssemblyInfo.cs.
So you have to go through every project's AssemblyInfo.cs file and remove those 3 lines.
Sigh. There's 23 projects in the Security section alone, which is sort of the sine qua non for using the EL to begin with, for my purposes.
Well, Caching, Configuration, Data, ExceptionHandling, and Logging are also useful.
One step at a time.
I've gotten Logging to work. Unfortunately, every time it logs it throws three error messages: