У меня есть сборка C++ с управляемым и неуправляемым кодом, скомпилированным в DLL. Он правильно импортирован в ссылки проекта, насколько я могу увидеть все мои классы и их члены с помощью обозревателя объектов.
Проблема заключается в представлении «Дизайн XAML». В моем коде XAML я хочу сделать привязку данных с моей сборкой C++, чтобы у меня было такое пространство имен:
xmlns:kudu = "clr-namespace:kudu;assembly=CLI"
CLI - это имя библиотеки DLL, внутри которой есть пространство имен kudu. Представление «Дизайн» отказывается отображать XAML и выдает мне эту ошибку:
Assembly 'CLI' was not found. Verify that you are not missing an assembly reference. Also, verify that your project and all referenced assemblies have been built.
Самое приятное то, что я могу построить все решение и все работает! Окно обновляется по мере изменения объектов C++ и что нет. Однако без представления дизайна это заставляет продолжать разработка довольно сложная.
Есть ли у кого-нибудь ответ, почему это происходит и как я могу исправить Это?





Вероятно, это происходит из-за того, что ide не может загрузить одну из неуправляемых dll. Возможно, вам придется переместить их в файл windows / system32.
Извините, я беру это обратно. Я, должно быть, пропустил файл, потому что я попытался снова скопировать все наши неуправляемые библиотеки DLL в system32, и он работает! СПАСИБО!!!!
Альтернативное решение, которое я нашел для этого, - добавить в переменную PATH Windows каталог bin моей сборки, в которой есть все библиотеки DLL.
Не забудьте перезапустить Visual Studio и посмотреть предупреждения, упомянутые в ответе это.
Очень полезно, спасибо за понимание.
Мое решение - скопировать библиотеки DLL в выходной каталог с помощью события Post-Build. Вот как 1. Свойства проекта / События сборки 2. Задайте командную строку события после сборки:
скопируйте path_to_dependent_dlls.
О, и я обнаружил, что для того, чтобы он начал работать, требуется перезапуск VStudio ...
Я попытался переместить другие библиотеки DLL, которые необходимо запустить этой сборке, в system32, но безуспешно. По-прежнему та же проблема с ошибкой загрузки.