Подтвердить что ты не робот

Не удалось найти версию Microsoft.SqlServer.Types версии 10 или выше.

У меня проблема. Я не могу добавить миграцию в свой проект ASP.NET WebAPI 2. Я получаю сообщение об ошибке:

"Пространственные типы и функции недоступны для этого провайдера потому что сборка" Microsoft.SqlServer.Types" версии 10 или выше не удалось найти.

Я знаю, что есть несколько вопросов и ответов об этом, например:

Но! Проблема в том, что...

  • Я уже установил Microsoft.SqlServer.Types.
  • У меня уже есть Global.asax, настроенный с помощью SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath( "~/bin" )) в Application_Start.
  • Ссылка установлена ​​на локальную копию > true.
  • Обновлены пакеты NuGet.
  • Я уже пытаюсь понизить и обновить пакет.

Это полная ошибка при попытке запустить, например, Add-Migration v002:

System.InvalidOperationException: Пространственные типы и функции не доступны для этого поставщика, потому что сборка 'Microsoft.SqlServer.Types' версии 10 или выше не удалось найти.
ан System.Data.Entity.SqlServer.SqlTypesAssemblyLoader.GetSqlTypesAssembly() ан System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromText(String wellKnownText) en System.Data.Entity.Spatial.DbGeography.FromText(String wellKnownText) ан System.Data.Entity.Migrations.Model.ColumnModel.CreateDefaultValue()
ан System.Data.Entity.Migrations.Model.ColumnModel..ctor(PrimitiveTypeKind type, TypeUsage typeUsage) en System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildColumnModel(EdmProperty свойство, TypeUsage conceptualTypeUsage, TypeUsage defaultStoreTypeUsage, IDictionary 2 annotations) en System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildColumnModel(EdmProperty property, ModelMetadata modelMetadata, IDictionary 2 аннотации)
ан System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer <. > C__DisplayClass2e3.b__2df (EdmProperty ручка System.Data.Entity.Utilities.IEnumerableExtensions.Each [T] (IEnumerable 1 ts, Action 1 action) ru System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildCreateTableOperation(EntitySet entitySet, ModelMetadata modelMetadata) en System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.b__194 (EntitySet es) en System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext()
en System.Collections.Generic.List
1..ctor(IEnumerable 1 collection)
en System.Linq.Enumerable.ToList[TSource](IEnumerable
1 source) ru System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Diff(ModelMetadata источник, цель ModelMetadata, Lazy 1 modificationCommandTreeGenerator, MigrationSqlGenerator migrationSqlGenerator, String sourceModelVersion, String targetModelVersion) en System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Diff(XDocument sourceModel, XDocument targetModel, Lazy 1 модификацияCommandTreeGenerator, MigrationSqlGenerator migrationSqlGenerator, String sourceModelVersion, String targetModelVersion) en System.Data.Entity.Migrations.DbMigrator.Scaffold(String migrationName, пространство имен String, Boolean ignoreChanges) en System.Data.Entity.Migrations.Design.MigrationScaffolder.Scaffold(String migrationName, Boolean ignoreChanges) en System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Scaffold(MigrationScaffolder scaffolder) en System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Run() ru System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate) ru System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
ru System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner бегун) en System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold(String migrationName, String language, String rootNamespace, Boolean ignoreChanges) en System.Data.Entity.Migrations.AddMigrationCommand.Execute(имя строки, Boolean force, Boolean ignoreChanges) en System.Data.Entity.Migrations.AddMigrationCommand <. > C__DisplayClass2 <..ctor > b__0() ан System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action команда)

4b9b3361

Ответ 2

Удостоверьтесь, что вам не хватает переадресации привязки

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

Ответ 3

проблема может быть "виртуальной". Вы должны иметь SqlServerSpatial140.dll в папке bin в момент выдачи команды add-migration. Просто скопируйте файл .dll в bin для целей разработки и замените вручную версию (x86/x64) во время развертывания. На сервере Sql (2012+) уже установлена ​​сборка.