We have a VB6 application that launches a .NET CSLA DLL through COM and works fine. However, when the underlying VB6 DLL is launched through COM and then the CSLA DLL is launched through it, it does not know where to find the config file and thus doesn't get it's mappings to the data portal. Where should the config file live?
When it works, the config file is named after the VB6 EXE appname.exe.config. What should it be named and where should it live when launched through COM? I've tried naming it after the DLL (dllname.dll.config), but that doesn't work.
Any ideas would be greatly appreciated.
Use FileMon or ProcMon from Sysinternals to trace file system activity. This will reveal where tha process is loooking for a .config file.
Thanks... I did try that, but I couldn't ever see the access to the config file, even when it was working. However, we did figure out the processes by trial and error adding config files.
From the sounds of it you already found the solution but just for anyone else that may be searching for an answer to the same problem.
The app.config file must be in the working directory of the executable that is calling the VB6 dll/CSLA dll. That is why it worked when the VB6 application called the VB6 dll but stopped working when the VB6 dll was called by a different executable.
Copyright (c) Marimer LLC