Не удалось загрузить файл или сборку Dotspatial

Я создаю пользовательский элемент управления, который использует DotSpatial 1.7. Кроме того, я создал приложение Windows Form, чтобы проверить свой контроль. Когда я ссылаюсь на dll-файлы "DotSpatial", для параметра "Копировать локальный" устанавливается значение true, и элемент управления работает хорошо. Однако, когда я устанавливаю "Копировать локальный" в false, я получаю ошибку ниже:

Дополнительная информация: Не удалось загрузить файл или сборку 'DotSpatial.Controls, версия =1.7.0.0, культура = нейтральная, PublicKeyToken=4d9e49339a7d240c' или одна из ее зависимостей. Система не может найти указанный файл.

Как решить эту проблему, чтобы скопировать все DLL в моей управляющей DLL и не копировать в папку приложения?

1 ответ

Я считаю, что компоненты DotSpatial по умолчанию не развертываются с помощью установщика или распространяются таким образом, чтобы автоматически регистрировать библиотеки в GAC (Global Assembly Cache). Чтобы установить для локального копирования значение false, приложение должно иметь возможность находить библиотеки в GAC. Вы должны будете убедиться, что у библиотек есть строгие имена, если их еще нет. Если вы создаете dll-файлы DotSpatial из исходного кода, вам необходимо создать проект InstallShield Limited Edition, как описано в этом документе Microsoft, или запустить инструмент Global Cache Tool (Gacutil.exe). Инструмент рекомендуется использовать только в целях разработки.

Другие вопросы по тегам