Я пытаюсь использовать типы SqlServer Spatial CLR в проекте С#.Net. Я хочу использовать SqlGeometry для запроса пространственных записей из моего db.
У меня это работает на моем локальном компьютере в unit test, запущенном в Visual Studio 2010, на удаленной машине SqlServer. Все хорошо.
Затем я публикую службу WCF Rest для моего локального экземпляра IIS, у которого есть служба, которая попадает в ту же библиотеку классов, что и unit test, для выполнения некоторого пространственного запроса, и она терпит неудачу.
Я получаю сообщение об ошибке
Невозможно загрузить DLL SqlServerSpatial.dll: указанный модуль может не найдено.
Я искал это и нашел много, много ответов - никто не работает для меня. У меня есть:
- зарегистрировал типы CLR с помощью GAC
- установите 64-разрядную, а затем также 32-разрядную версию VС++
- попробовал много вариантов использования разных версий dll Microsoft.SqlServer.Types
Единственное, чего я не сделал, и, честно говоря, отказаться от этого, - это установить что-либо в самом окне SqlServer. Мне это кажется ненужным.
В этот момент единственное, что я могу думать, это проблема с правами доступа, поскольку она запущена в пуле приложений IIS, а не внутри Studio, где она работает в unit test.
Обратите внимание, что в моем проекте я НИКОГДА не упоминаю DLL, упомянутую в сообщении об ошибке. Эта dll присутствует в ящике sql, но я не могу добавить ее в студию, поскольку она дает некоторое сообщение, когда я пытаюсь. У меня заканчиваются вещи, чтобы попробовать здесь. Это 90 dll ада снова.