У меня проблемы с одной очень сложной dll. Я использую стороннюю dll, чтобы заставить приложение Windows работать с веб-камерой. Приложение отлично работает на моем ПК с VS2012, на моем ноутбуке с VS2012, но оно вообще не работает в Windows XP, работающем на виртуальной машине.
Я получаю сообщение JIT
C# приложение с библиотекой C++ System.IO.FileNotFoundException
System.IO.FileNotFoundException: Could not load file or assembly '---, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Чтобы предотвратить многие вопросы я отвечу сам:
Да, DLL, сделать копию в папку с .exe
Да, я развернуть это как "Release"
Да, я скомпилировать приложение в качестве целевой платформы x86
Да, Я сделал компиляции DLL в качестве целевой платформы x86
Да, я установить VCRedist все версии целевой Windows XP
Да, я установить .NET от 3.0 до 4.0 целевой Windows XP
Я просто не могу понять, почему мой компьютер с Visual Studio может работать с этой DLL, но XP не может.
не означает быть плотным, но вы говорите, что вы получаете * буквального * «---, Version = ...» сообщение во время выполнения? Я имею в виду три тире, а не имя сборки? Понятно, что некоторые исследования с помощью Process Monitor были бы очень полезны здесь, чтобы идентифицировать требуемый модуль, но не найти его под XP. –
Да, я был буквальным с именем dll, это WebCamLib.dll – linuxod
И проверили ли вы, что сборка находится в виртуальной коробке? Если это так, то другие предложения здесь, чтобы попробовать DepWalker (или Process Monitor), являются хорошим следующим шагом. –