03-03-2008 02:22 AM
03-06-2008 02:39 PM - edited 03-06-2008 02:40 PM
So you've written an ACT! add-on, and for whatever reason, it is no longer being loaded by ACT!. What do you do? There's several steps that are particularly useful in determining the cause and getting it working again.
1. Check the ACT! Log
Chances are, the add-on threw an exception, which was caught by ACT! and logged. The caught exception will have a full stack trace along with the exception, which should give you insight into what happened. There are several ways to check the log. You can simply run Logview.exe, which can be found in the ACT! install directory, or if you're XML adventurous, you can look at the raw file (ACTLOG.XML) located in the ACT!'s application data folder (note folder location varies per OS).
2. Use the .NET Framework Assembly Binding Log Viewer (Fuslogvw.exe)
When any assembly cannot be loaded by the .NET Common Language Runtime (CLR), entries can be logged and viewed using this tool (http://msdn2.microsoft.com/en-us/library/e74a18c4(vs.80).aspx). A common problem for an Add-on to stop working is that it itself cannot be loaded, or one of its dependent assemblies cannot be loaded, often because of version mismatch. Fuslogvw.exe is a very powerful tool which can provide what assembly version is attempted to be loaded and where, and what the failures were. This can often give you key information to resolve the problem at hand.
3. Re-Enable the Add-on
Ok, so you've found the issue, and fixed it. So why isn't it working? Any time ACT! encounters an unhandled exception when loading an add-on (either when loading the type or when calling the constructor), the assembly the add-on resides in will be marked as unsafe, and ACT! will skip loading it in subsequent runs. Also in the ACT! application data directory is a file named Dependentdll.xml. You'll want to check that file for your assembly name, and remove that entry.
I hope this helps out any of you add-on authors that happen to run into any load or initialization issues with your add-ons. Keep making great ACT! add-ons!
07-17-2008 01:44 AM
ACT Library (Dlls) must reside into the Global Assembly Cache (C:\windows\assembly) to work with Visual Studio.Net.
You can not copy your dlls into this folder directly by copy/paste, rather you have to add them using gacutil.exe (resides in the C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin or C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v2.0\Bin) at command line.
e.g; C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\gacutil.exe /i c:\mydll.dll
Hope it will work.