Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > .NET для новичков > C++/CLI + C# - проблемы под WinVista SP1 |
Автор: NightmareZ 12.4.2008, 15:22 |
Создаю на C++/CLI враппер над OpenGL. Подключаю к проекту на C#. При попытке обратиться к чему-нить из сборки на C++/CLI вылетает исключение "Невозможно загрузить файл или сборку "MakarovGraphics, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" или один из зависимых от них компонентов. Была сделана попытка загрузить программу, имеющую неверный формат.". В чём может быть проблема? На XP всё работало. |
Автор: mr.DUDA 12.4.2008, 16:48 |
Установка VC++ Redistributable той версии, на которой компилировалось MakarovGraphics, может помочь решить проблему. |
Автор: NightmareZ 12.4.2008, 19:54 | ||
Я поставил VS2008, открыл в ней этот проект, скомпилял и запустил.... |
Автор: mr.DUDA 13.4.2008, 11:32 |
NightmareZ, всё перекомпилировалось? Не осталось старых бинарников? |
Автор: NightmareZ 13.4.2008, 12:07 | ||
Я пробовал два варианта: 1. старые бинарники, которые были скомпилированы под XP и там хорошо работали.... по Вистой не пашут 2. новые бинарники (скомпилированные под Вистой).... та же проблема Проблема, думаю, из-за связки C++/CLI + Виста.... может что-нить связано с правами? Компилять пробывал с /cli и /cli:pure |
Автор: drokosho 7.1.2009, 04:24 |
Аналогичная проблема вот с этим проектом http://www.codeproject.com/KB/IP/packetfilteringnet.aspx : Невозможно загрузить файл или сборку "TxFilterController, Version=1.0.3294.6738, Culture=neutral, PublicKeyToken=null" или один из зависимых от них компонентов. Была сделана попытка загрузить программу, имеющую неверный формат. тоже виста sp1, правда на других виндах не пробовал. |
Автор: evgeniikim 21.10.2009, 12:48 |
столкнулся с такой же проблемой, проблема оказалась в платформе под которую компилится, у меня х64 а врапер под х32. Кто знает как это лечить? |
Автор: PashaPash 21.10.2009, 16:47 |
evgeniikim, компилировать под x86, а не под AnyCPU. Если уже откомпилировано, и надо просто запустить - поменять платформу с помощью corflags.exe. |
Автор: evgeniikim 21.10.2009, 18:22 |
PashaPash, Немного другая ситуация, программа компилится под разные платформы, в том числе под x64, так вот если программа компилится под х64, то враппер(он под х86, написан на С++) не хочет грузиться, выдает сообщение что неверный формат этой dll. пытался сделать враппер под платформу х64, но результата не получил как и враппер под х64. пользовался вот этим: http://msdn.microsoft.com/en-us/library/9yb4317s(VS.80).aspx ![]() Вобщем разобрался, похоже нет возможности использовать х86 dll - в x64 проектах. Или может все таки есть возможность? |
Автор: PashaPash 22.10.2009, 02:19 |
evgeniikim, не получится скрестить битность. вот общая схема: http://blogs.msdn.com/joshwil/archive/2005/04/08/406567.aspx |
Автор: evgeniikim 22.10.2009, 11:10 |
спасибо. мда, особо не сталкивался с 64 битностью в разработке, вот такая подложенная свинья получается - из-за одной библиотеки, нет 64-битной версии приложения. ![]() |
Автор: makarov_dv 23.4.2013, 09:29 | ||
У меня была похожая проблема: среда разработки на 7 х64. В ХР х32 при попытке в C# приложении с++/clr библиотеки программа вылетала с аналогичной ошибкой. Добавил в инсталлер в Prerequisite галочку около Visual C++ 2010 Runtime Libraries (x86) - заработало. Спасибо за помощь. |