Unfortunately last version of dotConnect broke our build.
We were upgrading from version 9.1.97.0 to 9.1.131.0. We had following references:
* NetTopologySuite - version 1.13.2.0
* GeoAPI - version 1.7.2.0
* SharpMap
Our Database dll were referencing all these dlls and dotConnect dlls. To get these dlls copied to deploy directory I had to make something like this:
Code: Select all
public abstract class Dummy
{
public readonly Type DevartDataOracleEntitySpatials;
public readonly Type SharpMap;
public readonly Type BruTile;
protected Dummy()
{
DevartDataOracleEntitySpatials = typeof(Devart.Data.Oracle.Entity.Spatials.OracleNetTopologySuiteSpatialServices);
SharpMap = typeof(SharpMap.Map);
BruTile = typeof(BruTile.Utilities);
}
}
I can no longer use Devart.Data.Oracle.Entity.Spatials.OracleNetTopologySuiteSpatialServices because it is defiend in two dotConnect dll's, but that's not the problem.
The problem is VisualStudio stopped copying NetTopologySuite and GeoAPI to deploy folder. I've extended Dummy constructor to
Code: Select all
DevartDataOracleEntitySpatials = typeof(Devart.Data.Oracle.Entity.Spatials.OracleSharpMapSpatialServices);
BruTile = typeof(BruTile.Utilities);
NetTopologySuite = typeof(NetTopologySuite.NtsGeometryServices);
NetTopologySuiteIoGeoTools = typeof(NetTopologySuite.IO.Handlers.PointHandler);
NetTopologySuiteIoMsSqlSpatial = typeof(NetTopologySuite.IO.MsSqlSpatialReader);
NetTopologySuiteIoPostGis = typeof(NetTopologySuite.IO.PostGisReader);
GeoApi = typeof(GeoAPI.GeometryServiceProvider);
but this not work. I even referenced NetTopologySuite and GeoApi in our main project, but VS still refuses to copy.
I've found warning in Build output:
No way to resolve conflict between "NetTopologySuite, Version=1.13.2.0, Culture=neutral, PublicKeyToken=f580a05016ebada1" and "NetTopologySuite, Version=1.14.0.0, Culture=neutral, PublicKeyToken=null". Choosing "NetTopologySuite, Version=1.14.0.0, Culture=neutral, PublicKeyToken=f580a05016ebada1" arbitrarily.
I've checked - only one version of NetTopologySuite is referenced, and it is 1.13.2.0.
What is going on?
Tried to update NetTopologySuite. I had to remove SharpMap (we aren't using it anyway, does dotConnect need it?) for this.
DLL IS NOW COPIED.
Now i'm getting exception:
Exception thrown: 'System.IO.FileLoadException' in Devart.Data.Oracle.Entity.Spatials.EF6.dll
Additional information: Could not load file or assembly 'NetTopologySuite, Version=1.13.2.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Exception is thrown despite assemblyBinding is present:
Code: Select all
<dependentAssembly>
<assemblyIdentity name="NetTopologySuite" publicKeyToken="f580a05016ebada1" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.14.0.0" newVersion="1.14.0.0" />
</dependentAssembly>
Please guys help, i really don't know what's going on. I have wasted 6 hours already.