ThinkGeo.com    |     Documentation    |     Premium Support

Microsoft.SqlServer.Types.SqlGeometry

Hi, 





I reference the new dll of MapSuite 7.0.0.113  : 

GeoAPI.dll
MapSuiteCore.dll
NetTopologySuite.dll
WpfDesktopEdition.dll

Microsoft.SqlServer.Type (version 11.0.0.0)





When I debug my application I have this error message (ie : ErreurSQL_20131002.txt).
I think, I have this message because my sql server is sql server 2008.



Question  1 :
The Microsoft.SqlServer.Type.dll 11.00 is the new version which works with sql server 2012 ?




For information, we will not change for the moment, version sql server, so we stay with sql server 2008.
In my application, I reference the dll 7.0.0.113 for  : 
GeoAPI.dll
MapSuiteCore.dll
NetTopologySuite.dll
WpfDesktopEdition.dll

Microsoft.SqlServer.Type (version 10.0.0.0)





And when I compile the solution, I have a warning (cf.Capture_Conflict_20131002.JPG) about the conflict of version.




I double clicked and in th app.config, I have (ie : appconfig_20131002.txt)



 Question n°2 : 
Can I use 7.0.0113 version fo (GeoApi, etc …) but still use the Microsoft.SqlServer.Types.dll 10.0.0.0 ?



Question N°3 : 
Do I have to leave this  in the app.config ? or not ? ((ie : appconfig_20131002.txt)



Thanks for your help.



Regards.



Stephanie.

ErreurSQL_20131002.txt (602 Bytes)
AppConfig_20131002.txt (404 Bytes)

Hi Steph, 
  
 Thanks for your post, now we are investigating deeper into the error, but it seems to be a little complex. this might need a little while, would you please wait a little while before we sort it out? 
  
 Best Regards 
  
 Summer

Hi Steph,


Thanks for your waiting, we found that it is not about sql server 2012, I think that you're probably referencing the DLL's from the GAC on your local machine but 11.0 aren't present in the GAC in your application.

Open up visual studio and right click on the Microsoft.SqlServer.Types assembly reference in your project and select properties:

 

Change the copy local flag from False to True and recompile your application:



You should now have the the Microsoft.SqlServer.Types.dll file in your applications bin folder. And it will work fine.


If this issue hasn’t been solved yet, you would send me following information for your environment:

1. Your OS and Bit platform (Win7X64)

2. VS Version (2008/2010/2012)

3. .Net version



Waiting for your further information.



Best Regards



Summer



Hi Summer, 



Thanks for your help.
I had already done that and I still had error message.
But I found this on these links : 
alastaira.wordpress.com/2011/09/11/cant-cast-from-sqlgeometry-to-sqlgeometry-and-other-strange-version-conflicts-with-sql-server-denali-microsoft-sqlserver-types/
msdn.microsoft.com/en-us/library/ms143179(v=sql.110)



So I added in the app.config this : 
 <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
        <bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>



And I have no more error message.



Thanks.



Regards.



Steph.

Hi Steph, 
  
 Thanks for your further information, and great to hear it is sorted out. 
  
 if you have any more question , please feel free to let us know. 
  
 Best Regards 
  
 Summer