DB に保存するたびに、アプリケーションが次のエラーでクラッシュします。
DLL 'SqlServerSpatial110.dll' に 'SetClrFeatureSwitchMap' という名前のエントリ ポイントが見つかりません。
このエラーは、昨日の午後、Windows Update と PC の再起動後に発生し始めました。dll はプロジェクト内で参照されておらず、bin フォルダー内にもありません。
EF5 を使用しており、DB に接続してデータを取得できますが、ObjectContext.SaveChanges() を呼び出すとエラーが発生します。
アプリケーションはジオメトリを使用しないため、これがどこから来ているのかわかりません。
ベストアンサー1
私も同じ問題を抱えていましたが、アプリケーションの web.config に次の行を追加することで解決しました。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" />
<bindingRedirect oldVersion="1.0.0.0-11.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
これにより、EntityFramework は、明らかに Geometry タイプを持たない SqlServer.Types.dll のバージョン 10 を使用するようになります。