У меня есть консольное приложение, написанное в основном на C #, предназначенное для .Net 4. Оно также использует библиотеку C ++ / CLI, которая упаковывает неуправляемую библиотеку C ++. Все встроено в режим Release для платформы x86, кроме библиотеки C ++? CLI, встроенной в Win32.
Поэтому, когда я вызываю консольное приложение на моей рабочей станции Win 7, оно работает. Однако при перемещении папки на сервер приложений Win 2003 SP2 она не загружается, утверждая следующее:
"System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'MyWrapper.dll' или одну из ее зависимостей. Указанный модуль не найден.
Имя файла: 'MyWrapper.dll' ".
Я нашел совет добавить следующее в мой app.config, но это не помогает:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
Чего мне не хватает?
Редактировать: .Net 4 установлен на моем сервере приложений Win 2003 SP2, и консольные приложения, написанные на чистом C # и предназначенные для .Net 4.0, работают на нем.
Редактировать 2: MyWrapper.dll находится в той же папке.
Редактировать 3: DependencyWalker показывает, что отсутствуют следующие dll: MSVCP100.DLL, MSVCR100.DLL, DWMAPI.DLL. Я устанавливаю распространяемый.