# Replacement classes in ThinkGeo.Core 12.3.2

**URL:** <https://community.thinkgeo.com/t/replacement-classes-in-thinkgeo-core-12-3-2/9997>\
**Category:** ThinkGeo Cloud\
**Created:** [January 22, 2021, 10:57am UTC](https://community.thinkgeo.com/t/replacement-classes-in-thinkgeo-core-12-3-2/9997 "2021-01-22T10:57:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![MyAgDevTeam](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/m/eb8c5e/32.png) [@MyAgDevTeam](https://community.thinkgeo.com/u/MyAgDevTeam)\
**Post date:** [January 22, 2021, 10:57am UTC](https://community.thinkgeo.com/t/replacement-classes-in-thinkgeo-core-12-3-2/9997/1 "2021-01-22T10:57:39Z")

</div>

We are upgrading from MapSuiteCore (9.0.0.0) to ThinkGeo.Core (12.3.2).

We are making use of below classes throughout our code and it looks like these classes are not supported in ThinkGeo 12.3.2.

CloudFileFeatureLayer  
LayerDefinition  
ManagedProj4Projection  
SqlTypesGeometryHelper.MakeValid(newMultipolygonShapeToCreate)

What are the available alternatives to replace this functionality?

---

<div class="post-metadata">

**Author:** ![Frank4](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/frank4/32/25224_2.png) [@Frank4](https://community.thinkgeo.com/u/Frank4)\
**Post date:** [January 22, 2021, 7:37pm UTC](https://community.thinkgeo.com/t/replacement-classes-in-thinkgeo-core-12-3-2/9997/2 "2021-01-22T19:37:28Z")

</div>

Thanks

1. CloudFileFeatureLayer  
This class come from GISEditor plugins. We don’t support this one any more.

2. LayerDefinition  
This class come from GISEditor plugins. We don’t support this one any more.

3. ManagedProj4Projection  
Proj4Projection -\>ProjectionConverter.

4.SqlTypesGeometryHelper.MakeValid(newMultipolygonShapeToCreate)  
We don’t support this one anymore. Here is some details.

> [@Where is Feature.MakeValid() in ThinkGeo v12](https://community.thinkgeo.com/t/where-is-feature-makevalid-in-thinkgeo-v12/9958):
>
> There is a function MakeValid() in v10 which makes a feature valid. but I can’t find it in v12. Can anyone suggest an idea? (I have an alternative solution which used SQLGeomtery)

More recourse about the upgrade is here  
[https://docs.thinkgeo.com/products/desktop-maps/v12.0/upgrade-guide/](https://docs.thinkgeo.com/products/desktop-maps/v12.0/upgrade-guide/)

Thanks

Frank

---

<div class="post-metadata">

**Author:** ![MyAgDevTeam](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/m/eb8c5e/32.png) [@MyAgDevTeam](https://community.thinkgeo.com/u/MyAgDevTeam)\
**Post date:** [January 25, 2021, 9:13am UTC](https://community.thinkgeo.com/t/replacement-classes-in-thinkgeo-core-12-3-2/9997/3 "2021-01-25T09:13:25Z")

</div>

Thanks for the quick response.  
Since some of the classes are not supported anymore, do you have any alternatives for the same.

Below are the classes:  
CloudFileFeatureLayer  
LayerDefinition  
SqlTypesGeometryHelper.MakeValid(newMultipolygonShapeToCreate)

---

<div class="post-metadata">

**Author:** ![Frank4](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/frank4/32/25224_2.png) [@Frank4](https://community.thinkgeo.com/u/Frank4)\
**Post date:** [January 25, 2021, 9:12pm UTC](https://community.thinkgeo.com/t/replacement-classes-in-thinkgeo-core-12-3-2/9997/4 "2021-01-25T21:12:23Z")

</div>

Thanks,  
CloudFileFeatureLayer is removed and updated with ThinkGeoCloudVectorFeatureLayer/ThinkGeoCloudVectorOverlay in V12. The layer definitions supported in CloudFileFeatureLayer are no longer available in V12. What layer definition were you using in the old version? Maybe we can find you a workaround.

For the SqlTypesGeometryHelper.MakeValid. You can use the SqlGeometry directly.

> **[SqlGeometry.MakeValid Method (Microsoft.SqlServer.Types)](https://learn.microsoft.com/en-us/dotnet/api/microsoft.sqlserver.types.sqlgeometry.makevalid?view=sql-dacfx-150)**
>
> Converts an invalid SqlGeometry instance into a SqlGeometry instance with a valid Open Geospatial Consortium (OGC) type.

Thanks

Frank

---

<div class="post-metadata">

**Author:** ![MyAgDevTeam](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/m/eb8c5e/32.png) [@MyAgDevTeam](https://community.thinkgeo.com/u/MyAgDevTeam)\
**Post date:** [January 27, 2021, 5:52am UTC](https://community.thinkgeo.com/t/replacement-classes-in-thinkgeo-core-12-3-2/9997/5 "2021-01-27T05:52:51Z")

</div>

Thanks,  
We are using .net5, Microsoft.SqlServer.Types is not supported in .NET Core.

Kindly suggest alternative which is supported in .NET Core.

We are using below code for **CloudFileFeatureLayer** and **LayerDefinition**.

LayerDefinition USTownshipAndRange = new LayerDefinition(“us\_twnshp”, new RectangleShape(-178.285802, 71.468274, -80.031491, 25.138416),  
GeographyUnit.DecimalDegree, 6, “[http://thinkgeo-giseditor-cloudfilelayers-dev.s3-website-us-east-1.amazonaws.com/us\_twnshp/](http://thinkgeo-giseditor-cloudfilelayers-dev.s3-website-us-east-1.amazonaws.com/us_twnshp/)”);  
CloudFileFeatureLayer layerUSTownshipAndRange = new CloudFileFeatureLayer(USTownshipAndRange);  
layerUSTownshipAndRange.FeatureSource.Projection = GetPLSSProjection();

---

<div class="post-metadata">

**Author:** ![Frank4](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/frank4/32/25224_2.png) [@Frank4](https://community.thinkgeo.com/u/Frank4)\
**Post date:** [January 27, 2021, 4:43pm UTC](https://community.thinkgeo.com/t/replacement-classes-in-thinkgeo-core-12-3-2/9997/6 "2021-01-27T16:43:03Z")

</div>

Thanks,

1. Microsoft.SqlServer.Types is not supported in .NET Core. That is the reason we didn’t port it to mapsuite 12. I think we still need wait Microsoft to support this. You can find some information here  
[https://github.com/dotnet/SqlClient/issues/30](https://github.com/dotnet/SqlClient/issues/30) and try with [https://github.com/dotMorten/Microsoft.SqlServer.Types](https://github.com/dotMorten/Microsoft.SqlServer.Types)
2. For **CloudFileFeatureLayer** and **LayerDefinition** I talked with my supervisor. We plan to support these in ThinkGeo cloud service. We have few questions for you  
a. Do you have any roadmap for your upgrade? We need figure out if we could get this ready on time.  
b. Do you only use few areas for USTownship or you need the whole US area?

Thanks

Frank
