MSVCR90 - среда выполнения для Visual Studio 2008 . Если вы запускаете свое приложение на ПК для разработки, то у вас должны быть установлены среды выполнения отладки и выпуска (как часть Visual Studio), но, возможно, что-то пошло не так с вашей установкой, или что VS2010 на самом деле не включает более старую версию Время автономной работы. Если вы пытаетесь запустить Релиз на другом ПК, ему просто нужно установить среду выполнения.
В любом случае, вы можете исправить это, установив распространяемый Visual Studio 2008 , но убедитесь, что вы получаете нужную загрузку для своего ПК (x86 или x64).
В предыдущих версиях VS вам требовалась среда выполнения для версии, с которой вы компилировали, поэтому, если VS2010 следует этому прецеденту, вам понадобится MSVCR100, а не MSVCR90 - что предполагает, что вы, возможно, не перекомпилировали dll с VS2010 - выполняя так же может быть и другой подход к запуску его на вашем ПК (с использованием redist, который есть в вашей установке VS2010), но имейте в виду, что вам все же понадобятся другие пользователи для установки соответствующего (VS2010) распространяемого на их ПК.
Что касается «Любого ЦП» по сравнению с «x86», то это проблема только на 64-битном компьютере. В этих системах 64-разрядное приложение не может динамически связываться с 32-разрядными библиотеками. Если вы скомпилируете свое приложение как «Любой ЦП», оно будет скомпилировано в JIT, чтобы быть 64-битным в 64-битной ОС, поэтому произойдет сбой, если оно попытается напрямую вызвать любые 32-битные dll. Решение заключается в создании приложения, ориентированного на «x86», так как это заставляет JIT-компилятор генерировать 32-битный код (даже на 64-битной машине) и, таким образом, обеспечивает совместимость с DLL, которую вы хотите вызвать. Если DLL является управляемой сборкой, то вы можете использовать любой ЦП в обоих приложениях и DLL, поскольку они оба будут JITted в один и тот же формат.