Согласно SqlServerTypes
README мне нужно поставить эту строку:SqlServerTypes.Utilities недоступен из-за его уровня защиты
SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
перед выполнением пространственных операций для настольных приложений (шахта консоль приложение).
Однако он выдает ошибку на сборке:
'Utilities' is inaccessible due to its protection level
я пошел в папку пакетов и нашел Loader.cs
и Utilities
класса, на самом деле внутренний? Как это могло когда-либо работать? Я не мог найти кого-либо еще с этой проблемой, и они используют ее без проблем.
Если я F12 в декомпилируемой Utilities
он также отмечен как внутренний.
Я использую версию 11.0.2
.
У меня точно такой же. Я использовал пакет nuget 'https: // www.nuget.org/packages/Microsoft.SqlServer.Types /' и имел то же самое. Вы нашли решение еще? Изменение внутреннего для публики не исправило это для меня. Кажется, что он рухнул на «Application_Start». –
@JPHellemons Ну, я сделал взломать его. Проблема с пакетом все еще существует. Поскольку файлы DLL по-прежнему копируются в каталог выходных bin, а не в корневом директоре, я добавил сценарий после развертывания, чтобы скопировать DLL-скрипт из подкаталога в каталог корневого bin. Поскольку нет возможности различать потребности в 32 и 64 бит, вы можете копировать только один или другой, что может не сработать для вас. Я знаю, что всегда буду использовать 64-битную версию. –
Я вижу такие вещи как доказательство, что никто в Microsoft не ест собаку, когда дело доходит до SqlClr или любого из периферийных инструментов Sql Server. – Pxtl