2017-03-26 2 views
0

Ich habe ein ASP.NET MVC5-Projekt mit EF6.SqlPartialTypes funktioniert nicht nach Update nuget Paket

Nach einem Update auf alle nugget-Paket einschließlich Microsoft.SqlServer.Types (ver 14.0.314.76), alle Abfrage im Zusammenhang mit Spartial-Typ nicht mehr funktioniert, und es mir sagt, diese Codezeile in meine Application_Start aufzunehmen() -Methode in Global.asax.cs

SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin")); 

Aber es nicht beheben die Probleme nicht

Exception thrown: 'System.InvalidOperationException' in mscorlib.dll 
Additional information: Spatial types and functions are not available for this provider because the assembly 'Microsoft.SqlServer.Types' version 10 or higher could not be found. 

Hier ist, was ich versucht habe bisher

  • Neu installiert nuget Paket
  • die DLL in SqlServerTypes Ordnern Set alsway, löschen ist zu kopieren und obj Ordner und

neu zu erstellen zu testen, ob es diesen einfachen Code in Ihrer Index-Methode in Homecontroller

arbeitet, legen Sie
DbGeometry test = DbGeometry.FromText("POINT(297937 574201)", 27700); 

Antwort

1

Es ist ein Fehler in Entity Framework. Die Abhängigkeit von SQL Server-Typen wird auf Version 10 oder 11 und nicht auf Version 10 oder höher festgelegt.

Die Abhilfe ist eine Umleitung hinzufügen 14 verwenden Version als Version 10 angefordert wird:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration> 

Entity Framework Bug-Report: https://github.com/aspnet/EntityFramework6/issues/244