-
Notifications
You must be signed in to change notification settings - Fork 12
Adding a component
If you add a component, you have to take the following in consideration.
Consider the location of where to place your project. External projects go into a root folder (like SharpZipLib). If you create a plugin, consider if it is a general plugin that might be usefull to a wide range of users or that it is usefull for a small group of users like only from one country. If it is usefull for a large group of users, then this should go into the setup. The project itself should be placed in DefaultPlugins folder. Is the plugin only usefull for a small amount of people, then the plugin should go into OptPlugins folder.
We like to have things in our own hand, also how to build assemblies. Therefore, it is preferred to have the source files and build the assembly ourselfs. This helps prevent x86 and x64 problems.
The runtime application has a fixed folder structure. Plugins go into the Plugins folder and any assembly that is only used as a support library for plugins (like EPPlus) will go into the PluginDependencies folder. post build The application never depends on any of the plugins or plugin dependencies. Therefore, you have to add a post build to copy the assembly to the correct folder. Build configurations Create an x86 and x64 build configuration and be sure the build checkbox is set for all (also Debug and Release)
A plugin should only be dependent on GlobalcachingApplication.Framework and any of the supporting assemblies like GlobalcachingApplication.Utils. Plugins may never be dependent (at compile time) of another plugin. Use reflection if you want to use another plugin from within a plugin and be aware that the plugin might not be available.