User Tools

Site Tools


map_suite_mono_environment_setup_guide_on_linux

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:

  • Prepare a clean Ubuntu environment with version 16.04.01 LTS.
  • Press Ctrl + Alt + T to open a terminal window.
  • Install the MonoDevelop IDE as it is recommended to develop on Linux. Run the following command to install Mono Develop on your computer.
  sudo apt-get install monodevelop
  • Type monodevelop in the terminal to open MonoDevelop or you can click on the left top corner of task bar to search MonoDevelop and run it. You can open the Visual Studio solution file via MonoDevelop.

WebAPI / WebForms:

  • Follow the above steps, then proceed to the next step.
  • Add the Mono Project GPG signin key and the package repository to your system (if you don’t use sudo, be sure to switch to root). Please issue the following commands line by line:
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
  • Then, install the specific version of MonoDevelop that gives you a working ASP.NET add-in:
sudo apt-get install monodevelop=5.10.0.871-0xamarin2
  • To host the ASP.Net debug sample, install XSP4.
sudo apt-get install mono-xsp4
  • Install the mono environment. Issue the following commands line by line, depending on network this step may take a few minutes.
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. *

  • Run monodevelop command in terminal to open MonoDevelop, or you can click on left top corner of task bar to search MonoDevelop and run it. You can open Visual Studio solution file via MonoDevelop.

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.

  • Open the Packages solution folder.
  • Right-Click on the package that you want to uninstall and click on remove.(See figure 1.)

uninstall
Figure 1. Uninstall the package that you want.

  • In Web.config of this project, you need to remove the xml element named system.codedom. Usually it will be found on the bottom of Web.config.
  • After making these changes, press F5 to start the WebAPI project.
map_suite_mono_environment_setup_guide_on_linux.txt · Last modified: 2017/03/28 19:46 by bradrollins