I Have a problem. I'm not able to add a Migration to my ASP.NET WebAPI 2 Project. I get error:
"Spatial types and functions are not available for this provider
because the assembly 'Microsoft.SqlServer.Types' version 10 or higher
could not be found."
I know there are several questions and answers about this, like:
But! The problem is...
- I already have installed Microsoft.SqlServer.Types.
- I already have Global.asax configured with: SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin")) into the Application_Start.
- Reference is set to local copy > true.
- NuGet packages are all updated.
- I already try to downgrade and upgrade the package.
This is the full error when I try to run for example Add-Migration v002:
System.InvalidOperationException: Spatial types and functions are not
available for this provider because the assembly
'Microsoft.SqlServer.Types' version 10 or higher could not be found.
en
System.Data.Entity.SqlServer.SqlTypesAssemblyLoader.GetSqlTypesAssembly()
en
System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromText(String
wellKnownText) en
System.Data.Entity.Spatial.DbGeography.FromText(String wellKnownText)
en
System.Data.Entity.Migrations.Model.ColumnModel.CreateDefaultValue()
en
System.Data.Entity.Migrations.Model.ColumnModel..ctor(PrimitiveTypeKind
type, TypeUsage typeUsage) en
System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildColumnModel(EdmProperty
property, TypeUsage conceptualTypeUsage, TypeUsage
defaultStoreTypeUsage, IDictionary2 annotations) en
System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildColumnModel(EdmProperty
property, ModelMetadata modelMetadata, IDictionary
2 annotations)
en
System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.<>c__DisplayClass2e3.b__2df(EdmProperty
p) en
System.Data.Entity.Utilities.IEnumerableExtensions.Each[T](IEnumerable1
ts, Action
1 action) en
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.WhereSelectEnumerableIterator2.MoveNext()
en System.Collections.Generic.List
1..ctor(IEnumerable1 collection)
en System.Linq.Enumerable.ToList[TSource](IEnumerable
1 source) en
System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Diff(ModelMetadata
source, ModelMetadata target, 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) en
System.Data.Entity.Migrations.DbMigrator.Scaffold(String
migrationName, String namespace, 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()
en System.AppDomain.DoCallBack(CrossAppDomainDelegate
callBackDelegate) en
System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
en System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner
runner) en
System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold(String
migrationName, String language, String rootNamespace, Boolean
ignoreChanges) en
System.Data.Entity.Migrations.AddMigrationCommand.Execute(String name,
Boolean force, Boolean ignoreChanges) en
System.Data.Entity.Migrations.AddMigrationCommand.<>c__DisplayClass2.<.ctor>b__0()
en
System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action
command)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…