User Tools

Site Tools


Re-packed NuGet Packages

As we strive to make the installation process and version maintenance easier, we re-packed all Map Suite Products and dependencies to NuGet packages. Developers can choose either installing references locally or managing through NuGet manager with Visual Studio or setup a local NuGet server for your small team.

More Productive

As you know, Map Suite Products help developers to be more productive to create GIS applications. It can be more productive to include Map Suite components into your projects and share your projects without the reference assemblies.

Cross Platform / Portable

Before Map Suite 9.0, we have been considering supporting Multi-Platform like Linux, MacOS, Android, iOS. However, the infrastructure prevents us from moving towards it. If you are already a developer using Map Suite products, you might know we support Windows (Wpf, WinForms … ), iOS and Android platform, but is has been difficult for a long time. Imagine this situation: A customer reports a bug in MapSuiteCore on Windows platform. We fix it and test. Still, it is not all done. What we have to do is report to the iOS and Android teams to ask them to fix the same bug. This is a fault of the infrastructure. We have several branches of MapSuiteCore which that depend on different frameworks. Each time we fix the bug, we need to synchronize to the other platforms. It is not an ideal experience.

Now, the goal for us is to make the Map Suite Core's source code as portable as we can. With the opportunity of separating MapSuiteCore, we can translate our existing functions to portable. Essentially, we can share the same source code for various platforms. PS. Thanks to Microsoft PCL and shared project as well.

Separate the Map Suite Core

In Map Suite 9.0, we have most of the supporting features in one assembly called “MapSuiteCore” and few extension assemblies. While the other products have infrastructure above it. When you kick start your project, you can only reference the “MapSuiteCore” which includes all features that Map Suite supports. There is no choice to minimize your project.

One big thing we decided to do is separate our Map Suite Core by functionality, such as shapes, layers, styles, symbologies, etc. There is still a low-level assembly that will be relied on by the other features. Every feature that Map Suite supports you know might be a separate package. You can choose whatever your project is going to use. You can limit your application to the smallest size.

Simpler Trial License

Authentication and Licensing is one weakness of the NuGet package as it unfortunately does not support it by default. However, we created a new strategy for non-registered developers to have a chance to evaluate Map Suite Products without registration in a limited period. All you have to do is open Visual Studio, create a project, open NuGet manager and type “MapSuite.” it returns to you the full function list that Map Suite supports. Now you can take your time and enjoy the GIS development.

PS. The original license is still compatible with 10.0.

Workflow for running Map Suite Samples for the first time for 9.0 or lower version.

Workflow for running Map Suite Samples for the first time for 10.0. It is pretty straight forward.

What Do You Think?

We can already see the benefit of using the new Map Suite NuGet packages. You can do everything from within Visual Studio via the console or GUI, and you can check for component updates in real-time. You could easily setup your own NuGet server for your team and share your project.

How do you feel about this? Is it a good experience for you to develop your GIS application? Is it better than using installer or product center in some scenario?

Let us know what you think, and we will try our best to improve the development experience.

repackagednugetpackages.txt · Last modified: 2017/02/03 16:49 by bradrollins