This topic identifies the supported Act! assemblies and gives recommendations for working with third-party components, placing DLLs, and ensuring version support.
You should build applications only against the assemblies supported by the SDK, as follows.
Framework assemblies:
UI assemblies:
Web assemblies:
Other assemblies exist, but are not supported or maintained for compatibility. Future versions of Act! may include non-compatible versions of these assemblies.
You should not depend on any DLLs or EXEs that Act! installs other than the supported assemblies. Unsupported DLLs and EXEs may change or be removed.
You should not build products against third-party components deployed by Act!. Third-party components should be considered unsupported and may be changed or removed over inline releases. Using third-party components may also be a violation of that component's license; therefore, you should work out a license agreement with the third-party developer before beginning. If you build a product against a third-party component, you must install it as part of the application’s install.
You should not place DLLs that are dependant on an add-on in the Plugins folder. If you build an add-on that has other dependent DLLs, including third-party DLLs, either install these in the Global Assembly Cache or create a product sub-folder beneath the Plugins folder and place your dependencies there (you will need to load those dynamically). This method ensures that neither the .NET dependencies of Act! nor other add-ons interfere with yours, and ensures that plug-ins load promptly.
If you develop an add-on, limit CPU time in IPlugin interface methods and in event handlers of the Act! Framework or Application. Extensive CPU time may degrade Act! general performance. Instead, use asynchronous patterns to defer work to another thread.
Add-ons should use proper exception handling, especially in handlers for Act! events. Because add-ons are hosted by Act!, exceptions created by add-ons affect normal Act! behavior and stability.
Use your company name in all your add-on assembly and interop wrapper file names and in folder names in the Plugin folder. This practice prevents conflict with assembly and file names of other add-on vendors.
To have your product support any Act! version, build your product against the final (or "gold") build. Do not release products built against any prerelease (Alpha, Beta, etc.) versions of Act!.