c# - studio - No se pudo encontrar el ensamblado ''Microsoft.SqlServer.Types'' versión 10 o superior
visual studio community (3)
Después de mucha investigación acabo de instalar "Tipos de CLR del sistema de Microsoft para SQL Server 2012" desde:
- X86 - http://go.microsoft.com/fwlink/?LinkID=239643&clcid=0x409
- X64 - http://go.microsoft.com/fwlink/?LinkID=239644&clcid=0x409
¡Trabajado como un encanto!
Tengo un problema. No puedo agregar una migración a mi proyecto ASP.NET WebAPI 2. Me sale un error:
"Los tipos y funciones espaciales no están disponibles para este proveedor porque no se pudo encontrar el ensamblado ''Microsoft.SqlServer.Types'' versión 10 o superior."
Sé que hay varias preguntas y respuestas sobre esto, como:
- ''Microsoft.SqlServer.Types'' versión 10 o superior no se pudo encontrar en Azure
- Error "tipos y funciones espaciales no disponibles" al convertir una cadena a DbGeometry en ASP.NET
¡Pero! El problema es...
- Ya he instalado Microsoft.SqlServer.Types.
- Ya tengo Global.asax configurado con: SqlServerTypes.Utilities.LoadNativeAssemblies (Server.MapPath ("~ / bin")) en Application_Start.
- La referencia se establece en copia local> verdadera.
- Los paquetes NuGet están todos actualizados.
- Ya trato de degradar y actualizar el paquete.
Este es el error completo cuando intento ejecutar, por ejemplo, Add-Migration v002 :
System.InvalidOperationException: los tipos y funciones espaciales no están disponibles para este proveedor porque no se pudo encontrar el ensamblado ''Microsoft.SqlServer.Types'' versión 10 o superior.
es System.Data.Entity.SqlServer.SqlTypesAssemblyLoader.GetSqlTypesAssembly () es System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromText (String wellKnownText) es System.Data.Entity.Spatial.DbGeography.FromText (String wellKnownText) es System.Data .Entity.Migrations.Model.ColumnModel.CreateDefaultValue ()
es System.Data.Entity.Migrations.Model.ColumnModel..ctor (tipo PrimitiveTypeKind, TypeUsage typeUsage) en System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildColumnModel (propiedad EdmProperty, TypeUsage conceptualTypeUsage, TypeUsage defaultStoreTypeUsage, IDictionary2 annotations) en System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.BuildColumnModel(EdmProperty property, ModelMetadata modelMetadata, IDictionary
2 anotaciones)
es System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer. <> c__DisplayClass2e3.b__2df (EdmProperty p) es System.Data.Entity.Utilities.IEnumerableExtensions.Each [T] (IEnumerable1 ts, Action
1) en System.Data .Entity.Migrations.Infrastructure.EdmModelDiffer.BuildCreateTableOperation (EntitySet entitySet, ModelMetadata modelMetadata) es System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.b__194 (EntitySet es) es System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()
en System.Collections.Generic.List2.MoveNext()
en System.Collections.Generic.List2.MoveNext()
1..ctor (
en System.Collections.Generic.List1 collection)
IEnumerable
en System.Linq.Enumerable.ToList[TSource](IEnumerable1 collection)
en System.Linq.Enumerable.ToList[TSource](IEnumerable1 collection)
en System.Linq.Enumerable.ToList[TSource](IEnumerable1 collection)
fuente de
en System.Linq.Enumerable.ToList[TSource](IEnumerable1 collection)
1) es System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Diff (ModelMetadata source, ModelMetadata target, Lazy
en System.Linq.Enumerable.ToList[TSource](IEnumerable1 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) es System.Data.Entity.Migrations.Design.MigrationScaffolder.Scaffold (String migrationName, Boolean ignoreChanges) es System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Scaffold (MigrationScaffolder scaffolder) es Sistema. Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Run () en System.AppDo main.DoCallBack (CrossAppDomainDelegate callBackDelegate) en System.AppDomain.DoCallBack (CrossAppDomainDelegate callBackDelegate)
es System.Data.Entity.Migrations.Design.ToolingFacade.Run (Run BaseRunner) es 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) es System.Data.Entity.Migrations.AddMigrationCommand. <> C__DisplayClass2. <. Ctor> b__0 () es System.Data.Entity.Migrations.MigrationsDomainCommand. Ejecutar (Comando de acción)
el problema puede ser "virtual". Debe tener SqlServerSpatial140.dll en la carpeta bin en el momento de emitir el comando add-migration. Simplemente copie el archivo .dll en el contenedor con fines de desarrollo y reemplace manualmente la versión (x86 / x64) durante la implementación. Sql Server (2012+) ya tiene el ensamblado instalado.
Asegúrese de que no le falta una redirección vinculante
<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>