Is MapWindow6 meant to run "out of the box"?

Jun 4, 2013 at 12:03 AM
Edited Jun 4, 2013 at 4:09 PM
[SOLVED, see below]
I had intended to use the code for MapWindow6 as a learning platform for DotSpatial, but I can't seem to even get it running (ClickOnce, full download, build from Visual Studio all fail).

Are there any undocumented prerequisites?

I was initially receiving an error complaining about not having DevExpress.***.v12.2.dll, which was odd because the VS project seemed to only ask for v11.2. I've since discovered that DotSpatial.Plugins.Ribbon was being downloaded by NuGet, and expecting a DevExpress v12.2 dll. This seems inconsistent, like NuGet is grabbing a version of Ribbon that is too new.

Anyway, I've copied the following assemblies into Application Extensions:
  • CodeSmith.Insight.Client.Windows
  • DevExpress.Data.v11.2
  • DevExpress.Utils.v11.2
  • DevExpress.XtraBars.v11.2
  • DevExpress.XtraEditors.v11.2
  • DotSpatial.Plugins:
    --- ClickOnceUpdater
    --- DockManager
    --- ExtensionManager
    --- Insight
    --- Measure
    --- MenuBar (v1.0.1192)
    --- Ribbon (v1.4.25)
    --- SimpleLegend (built myself from a separate project found online)
    --- SplashScreenManager
    --- TableEditor
  • NuGet.Core
Now, a CompositionException is thrown inside appManager.LoadExtensions().
<
The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.

1) Could not load type 'DevExpress.XtraBars.PopupMenuBase' from assembly 'DevExpress.XtraBars.v11.2, Version=11.2.11.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a'.

Resulting in: An exception occurred while calling the 'OnImportsSatisfied' method on type 'DotSpatial.RibbonHeader'.

Resulting in: Cannot activate part 'DotSpatial.RibbonHeader'.
Element: DotSpatial.RibbonHeader --> DotSpatial.RibbonHeader --> DirectoryCatalog (Path="C:\somewhere\mapwindow6-81799\MapWindowApp\bin\Debug\Application Extensions")

Resulting in: Cannot get export 'DotSpatial.RibbonHeader (ContractName="DotSpatial.Controls.Header.IHeaderControl")' from part 'DotSpatial.RibbonHeader'.
Element: DotSpatial.RibbonHeader (ContractName="DotSpatial.Controls.Header.IHeaderControl") --> DotSpatial.RibbonHeader --> DirectoryCatalog (Path="C:\somewhere\mapwindow6-81799\MapWindowApp\bin\Debug\Application Extensions")
>

Any ideas where I should start?
Solution: It appears that in the last few days, the DotSpatial.Plugins.Ribbon from the myget feed was updated to 1.4.25, but the package is missing some requisite DevExpress dll (which is at v12.2, as opposed to v11.2 used by the other plugins). You can get around this by manually inserting the 1.4.24 package directly into the Application Extensions folder, circumventing NuGet. (You will also have to get DotSpatial.Plugins.DockManager manually as well; I'm not sure why.) With these present directly for the application, it can launch.

http://www.myget.org/F/dotspatial/api/v2/package/DotSpatial.Plugins.Ribbon/1.4.24
http://www.myget.org/F/dotspatial/api/v2/package/DotSpatial.Plugins.DockManager/0.12.5.14

Good luck.
Jul 6, 2013 at 11:06 PM