Interop config file issue
On my dev machine (WinXP, 1.1 and 2.0 installed) I have built the dlls, added them to the GAC, put the config file in system32/dllhost.exe.config and called dlls from an ASP page no problem. Page displays and the dlls see the config file.
I do the same in production (Win2003 Server, 1.1 and 2.0 installed) and I get an error which indicates that the code isn't seeing the config file (it isn't getting a connection string). I have tried numerous things to resolve this, with some interesting results:
1) Added w3wp.exe.config and inetinfo.exe.config to the system32 dir as well as the system32/inetsvr dir with the same results as above.
2) Added a line to the main dll constructor that points to a custom config location (AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"C:\Inetpub\wwwroot\dwww.xxx.com\config\ce.config");).
Here is where it gets interesting; when I call the ASP page with the dll call, the app pool bombs out. If I look at the App event log, I see this:.
"NET Runtime version 2.0.50727.42 - Fatal Execution Engine Error (7A05E2B3) (80131506)"
(among others)
If I remove the custom config file, the app goes back to complaining about not having a config file (no connection string). If I replace the config file with a 1.1 format config file, I get the same thing (complains about no connection string, BUT doesn't bomb out). Obviously it is seeing the config file.
3) Added the dlls to COM+ and pointed the application root directory setting to a directory that contains an application.config file and an application.manifest file. I see the same behavior (sort of). If the config file is my 2.0 config file, the COM+ app won't start; it bombs out. The system event log has the following "SideBySide" error:
Syntax error in manifest or policy file "C:\Inetpub\wwwroot\dwww.xxx.com\config\Application.Config" on line 10. The manifest file root element must be assembly."
(among others)
And again, if I change the application.config file to a 1.1 version, COM+ starts fine but then obviously doesn't find my connection string.
I have checked the registry and the dlls and registered with the correct .Net runtime version (v2.0.50727).
Interesting, eh? Anyone have any thoughts? It really seems like the CLR is expecting to find a 1.1 config file and is choking on the 2.0 config.
Any help would be most appreciated.

