About the Plugin framework of DotSpatial.

Mar 22, 2012 at 7:41 PM
Edited Mar 22, 2012 at 7:42 PM

As a beginner of DotSpatial, I have to figure out the Plugin framework first.

I have been reading the codes in the past two hours, and I know that the  'AppManager' and 'Extention' seem to be the key classes of the Plugin system, and it's based on MEF. To be frank, I know very little about C# for I started to learn it weeks ago, so I want to get a demo project to show the outline of the Plugin framework with the following features:

1) A simple plugin;

2) Show a splash screen while loading plugins;

3) Call the plugin after it loaded;

3) After the host application started,  show the name, version and other information of the loaded plugins.

Where can I get a similar demo project? Thank you in advance.

Mar 22, 2012 at 9:31 PM

Hydrodesktop has these features. It's not really a small project, however.

The splash screen plugin implements



and is customizable so you can load your own logo into it. Let me know if you need an explanation on how to do that.


After the host is loaded Hydrodesktop shows a welcome screen.

Mar 23, 2012 at 7:35 AM
Edited Mar 23, 2012 at 4:56 PM

I downloaded Hydrodesktop and found that it depend on the 'DotSpatial.Plugins.SplashScreenManager.dll' , but I can not find the source code of it.

I also tried MapWindow6 with the same problem.

I'm maintaining the 'GPS Toolkit' opensource project on the 'www.sourceforge.net', we are developing on the main branch. To release a stable version, a separate branch will be copied, and it will be freezed  after the stable version is released. So I'm very confused on the projects on codeplex:  where are the source code of the latest stable released version? After download the project, the user usually update the dependencies manually, and user frequently get the wrong versions of the request librarys , why not put the right version of  dependencies together? 

Ok, Please give me a link to 'DotSpatial.Plugins.SplashScreenManager'   to get 'DotSpatial.Plugins.SplashScreenManager.dll'

Thank for you kindness and help and the terrific work!

Mar 23, 2012 at 5:31 PM

DotSpatial.Plugins.SplashScreenManager.dll is distributed on our extension feed, so the current link for the latest release is in the content tag:

 <content type="application/zip" src="http://www.myget.org/F/dotspatial/api/v2/package/DotSpatial.Plugins.SplashScreenManager/" />


The source for the plugin is available at http://dotspatialapp.codeplex.com/


DotSpatial is relatively new, and we have been able to make releases out of the trunk. We're just getting branches set up for those that want to support a particular major release while avoiding introducing new bugs that come with new features. Or branch for features etc.

We're keeping dependencies in the SupportFiles folder (or on nuget when possible), so I haven't heard of any trouble there. You can see or download the code associated with a release by clicking on the Change Set link for that release, e.g. 65997.

Mar 23, 2012 at 7:41 PM

Thanks for your support, and I found that the above tips are very useful. I'm struggling and and struggling and finally get it to work, cheers.


By the way, I still confuse on the following words

  'We're keeping dependencies in the SupportFiles folder (or on nuget when possible),'

If I download  the sources 'mapwindow6-74516.zip', I have to build it with DotSpatial-74516, is it right? 

Thanks for your patience.



Mar 23, 2012 at 9:14 PM

In general MapWindow 6.1.0 works with DotSpatial 1.0 and

MapWindow 6.1.1 works with DotSpatial 1.1


The projects are not synchronized on a changeset level, but I would expect the latest MapWindow 6 source to work with the latest DotSpatial source.

You'll also want to read the C:\dev\MapWindow\How to Build.txt


Does that help?

Mar 24, 2012 at 5:19 AM
Edited Mar 24, 2012 at 6:13 PM
I've read the file 'C:\dev\MapWindow\How to Build.txt' before, I'll let you know if I get stuck.
Thank you.