it-swarm.com.de

Assembly 'Microsoft.SqlServer.Types' Version 10 oder höher wurde nicht gefunden

Ich habe ein Problem. Ich kann meinem ASP.NET WebAPI 2-Projekt keine Migration hinzufügen. Ich erhalte eine Fehlermeldung:

"Spatial-Typen und -Funktionen sind für diesen Anbieter nicht verfügbar, da die Assembly" Microsoft.SqlServer.Types "Version 10 oder höher nicht gefunden wurde."

Ich weiß, dass es dazu verschiedene Fragen und Antworten gibt, wie zum Beispiel:

Aber! Das Problem ist...

  • Ich habe bereits Microsoft.SqlServer.Types installiert.
  • Ich habe bereits Global.asax konfiguriert mit: SqlServerTypes.Utilities.LoadNativeAssemblies (Server.MapPath ("~/bin")) in Application_Start.
  • Die Referenz ist auf local copy> true gesetzt.
  • NuGet-Pakete werden alle aktualisiert.
  • Ich versuche bereits, das Paket zu downgraden und zu aktualisieren.

Dies ist der vollständige Fehler, wenn ich versuche, zum Beispiel Add-Migration v002 auszuführen:

System.InvalidOperationException: Spatial-Typen und -Funktionen sind für diesen Anbieter nicht verfügbar, da die Assembly 'Microsoft.SqlServer.Types' Version 10 oder höher nicht gefunden wurde.
de System.Data.Entity.SqlServer.SqlTypesAssemblyLoader.GetSqlTypesAssembly () de System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromText (String wellKnownText) de System.Data.Entity.SpatialText ) de System.Data.Entity.Migrations.Model.ColumnModel.CreateDefaultValue ()
de System.Data.Entity.Migrations.Model.ColumnModel..ctor (PrimitiveTypeKind-Typ, TypeUsage typeUsage) de System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildColumnModel (EdmProperty-Eigenschaft, TypeUsage defaultToreType) , IDictionary2 annotations) en System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildColumnModel(EdmProperty property, ModelMetadata modelMetadata, IDictionary 2 Anmerkungen)
de System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer. <> c__DisplayClass2e3.b__2df (EdmProperty p) de System.Data.Entity.Utilities.IEnumerableExtensions.Each [T] (IEnumerable 1 ts, Action 1 Aktion) de System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildCreateTableOperation (EntitySet entitySet, ModelMetadata modelMetadata) de System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.b__194 (EntitySetableEnable) de 2.MoveNext()
en System.Collections.Generic.List
1..ctor (IEnumerable 1 collection)
en System.Linq.Enumerable.ToList[TSource](IEnumerable
1 source) de System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Diff (ModelMetadata-Quelle, ModelMetadata-Ziel, Lazy1 modificationCommandTreeGenerator, MigrationSqlGenerator migrationSqlGenerator, String sourceModelVersion, String targetModelVersion) en System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Diff(XDocument sourceModel, XDocument targetModel, Lazy 1 modificationCommandTreeGenerator , MigrationSqlGenerator migrationSqlGenerator, String sourceModelVersion, String targetModelVersion) de System.Data.Entity.Migrations.DbMigrator.Scaffold (String migrationName, String Namespace, Boolean ignoreChanges) de System.Data.Entity.Migrations.Design.MigrationScaffolder.Sc e, Boolean ignoreChanges) de System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Scaffold (MigrationScaffolder-Gerüst) de System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Run () de System.AppDomain (DoC CrossAppDomainDelegate callBackDelegate) de System.AppDomain.DoCallBack (CrossAppDomainDelegate callBackDelegate)
de System.Data.Entity.Migrations.Design.ToolingFacade.Run (BaseRunner runner) de System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold (String migrationName, String language, String rootNamespace, Boolean ignoreChanges) de System.Data.Entity.Migrations.AddMigrationCommand.Execute (Stringname, Boolesche Kraft, Boolesche ignoreChanges) de System.Data.Entity.Migrations.AddMigrationCommand. <> c__DisplayClass2. <. ctor> b__0 () de System.Data.Entity .Migrations.MigrationsDomainCommand.Execute (Aktionsbefehl)

23
Martín

Nach viel Recherche habe ich gerade "Microsoft System CLR Types für SQL Server 2012" installiert von:

Lief wie am Schnürchen!

56
Martín

Stellen Sie sicher, dass Sie keine Bindungsumleitung verpassen

  <dependentAssembly>
      <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
      <bindingRedirect oldVersion="10.0.0.0-11.0.0.0" newVersion="14.0.0.0" />
    </dependentAssembly>
10
R2D2

Das hat bei mir funktioniert.

Fügen Sie dies dem Knoten web.config> system.webServer >> runtime >> assemblyBinding hinzu

  <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>
2
David

das Problem kann "virtuell" sein. Sie müssen SqlServerSpatial140.dll zum Zeitpunkt der Ausgabe des Befehls add-migration im Ordner bin haben. Kopieren Sie einfach die DLL in den Bin für Entwicklungszwecke und ersetzen Sie die Version (x86/x64) während der Bereitstellung manuell. Auf SQL Server (2012+) ist die Assembly bereits installiert.

1
Alex Kudryashev