Table of Contents

Map Suite Mono Environment Setup Guide on Linux

The Map Suite Mono environment setup guide on Linux will guide you through a process of setting up a Mono environment for Map Suite WebAPI and Map Suite WebForms. The guide supports Map Suite 10.0.0.0 and higher.

The purpose of this guide is to help you quickly setup a Map Suite WebAPI or Map Suite WebForms environment on Linux.

Map Suite controls are created with Microsoft .Net Frameworks. These controls depend on the Mono runtime and MonoDevelop IDE. The following steps will guide you to setup a Mono environment on Linux.

Setup Mono runtime and MonoDevelop IDE

For Winforms:

  sudo apt-get install monodevelop

WebAPI / WebForms:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF 
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install monodevelop=5.10.0.871-0xamarin2
sudo apt-get install mono-xsp4
sudo apt-get install mono-devel
sudo apt-get install mono-complete
sudo apt-get install referenceassemblies-pcl

Notice: Please enter Y when asked to continue. *

Migrate Map Suite Web Projects from Windows to Linux

We can create a WebForms project in MonoDevelop and install the NuGet packages. However, there are a couple of necessary steps:

  1. We cannot drag and drop to add a control to the design page as MonoDevelop does not have a designer. We need to write aspx code manually.
  2. The map control needs the ScriptManager class in System.Web.Extensions assembly, but it is not referenced by default. We need to add it manually.

The WebAPI and WebForms projects created in Visual Studio on Windows cannot run on Linux with MonoDevelop directly. The following steps show how to migrate them to MonoDevelop.

  1. Create a WebAPI or WebForms project with Visual Studio and copy the solution to Linux. Open the solution with MonoDevelop.
  2. After the project is created in Visual Studio, the project will rely on two NuGet packages by default. < * Microsoft.CodeDom.Providers.DotNetCompilerPlatform > and < * Microsoft.Net.Compilers >

These two packages are not supported on Linux. You need to uninstall them.

uninstall
Figure 1. Uninstall the package that you want.