I've signed my MGOS 3.0 dll's and build a LocalNativeProvider from "MaestroSDK_6.0a3". I used it before for signing the 2.6 dll's. Since there were some API changes in MapGuide 3.0 I had to manually change the file "LocalNativeConnection.cs", but I'm not sure if this is the only file I have to change.
I got my application up and running except of one error that occurs when opening a runtime map:
Message: Data in stream had type: ClassId but type 'Int32' was expected
bei OSGeo.MapGuide.MaestroAPI.Mapping.RuntimeMap.Deserialize(MgBinaryDeserializer d)
bei OSGeo.MapGuide.MaestroAPI.PlatformConnectionBase.OpenMap(String runtimeMapResourceId)
Any idea how I can fix this or what could cause this problem?
Unfortunately there is an error when trying the new build of the LocalNativeProvider:
Could not load file or assembly 'OSGeo.MapGuide.MaestroAPI.Native-3.0.0' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I think the LocalNativeProvider dll is missing the PublicKeyToken of the MaestroAPI as you can see in this report from .NET Reflector:
// Assembly OSGeo.MapGuide.MaestroAPI.Native-3.0.0.dll, Version 0.0.0.0
Location: C:\Users\CSO\Documents\Visual Studio 2015\Projects\MapGuide3\MapGuide3\bin\OSGeo.MapGuide.MaestroAPI.Native-3.0.0.dll
Name: OSGeo.MapGuide.MaestroAPI.Native-3.0.0.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null