I have a 3rd party workflow software (Captaris Teamplate) that's referencing an assembly from my project that's referencing other assemblies from our project solution all through GAC. When our app executes it invokes Captaris Teamplate method to create a workflow process which in turn uses project assemblies in GAC to store data into a DB. Problem is when I compile my project and remove assemblies from GAC replacing them with new versions, but when I run entire project, Captaris Teamplate throws an error:
Exception Type: System.IO.FileNotFoundException
Message: File or assembly name VBAssembly, or one of its dependencies, was not found.
FileName: VBAssembly
FusionLog: === Pre-bind state information ===
LOG: DisplayName = VBAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
That is it wouldn't give me the name of the assembly dll it's trying to find nor version it's looking for. Troubleshooting of such an issue is like shooting in the dark and it can kill days of deleting old assemblies that are kept in "Asp.net temporary files" folder, project folder and website folder (inetpub), rebooting etc, testing for error, getting an error, searching for some other old assemblies etc.
So my questions are:
- Is there a technique that would allow me to extract more info on this exception such as the name of the assembly and version that is missing?
- Is there an easy way to clean up all those old assembly versions from the system at compile time?
- Any other suggestions in dealing with this DLL Hell and/or Captaris Teamplate?
We're using Asp.net version 1.1 with Visual Studio 2003 with Captaris Workflow 5.0