[mapguide-users] Re: Compile Maestro API in Visual Studio 2010 and .NET Framework 3.5

Jackie Ng jumpinjackie at gmail.com
Wed Nov 30 09:47:37 EST 2011


I think the problem is with the NetTopologySuite.Merged reference needed by
the Maestro API.

The issue is that NetTopologySuite does not offer a .net Framework 2.0 build
target, and lots of code used LINQ and extension methods. In order to be
able to target .net Framework 2.0, we had to use the LinqBridge library and
our own System.Runtime.CompilerServices.ExtensionAttribute attribute, which
provided the sufficient compatibility layers for these bits in
NetTopologySuite to compile. It is this compatibility layer that is probably
the cause of the conflict as we have already provided our own
System.Runtime.CompilerServices.ExtensionAttribute

Now why does Maestro need NetTopologySuite? Because it uses the geometry
model, WKT/WKB parsing and coordinate system functionality provided by these
NTS. 

Why is Maestro targeting .net Framework 2.0 and not something higher?
Maestro also runs on Linux and Mac OSX via Mono, and the way to ensure this
remains the fact is to target the oldest .net Framework version. Targeting
newer .net framework versions is risky as Mono may not have full support for
newer BCL classes. Also combined with the fact that most Linux distros
(well, mainly Ubuntu) are very conservative with regards to the version of
Mono that's bundled.

What can you do about this? You can check out and build your own copy of NTS
1.8 (targeting 3.5 without any compatibility hacks), then fix the Maestro
API project to reference your custom build of NTS

- Jackie

--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/Compile-Maestro-API-in-Visual-Studio-2010-and-NET-Framework-3-5-tp7046741p7047010.html
Sent from the MapGuide Users mailing list archive at Nabble.com.


More information about the mapguide-users mailing list