У меня проблема с настройкой компилятора AnyCPU vs x86, но, если я правильно понимаю, моя проблема, похоже, наоборот, как обычно.
В настоящее время все находится на 64-разрядной машине Win 7 с Visual Studio 2010. Речь идет о приложении Dot.NET 3.5. Visual Studio находится на английском языке, но часть ошибки связана с немецким языком, который является языком ОС.
Проект E: основной проект / решение, которое включает 3 подпроекта, 2 как библиотеки DLL и 1 как exe. VB.net 3.5, скомпилированный как x86, так как для доступа требуется OleDB. Первоначально запускался на VS 2008 или даже VS 2005 на 32-битной машине в WinXP.
Проект ADB: vb.net exe, должен иметь возможность запускаться как автономный, и мне нужно иметь доступ к формам из проекта E. Это началось как отдельный проект, которым я был Dot .Net 4.0 в VS 2010, но я думаю, что он все еще был на 32-битной машине / WinXP, если это актуально.
Требуется OledDB для MS Access, поэтому автономный exe должен быть x86.
Но если Я компилирую его как x86 (Project Properties> Compile> Advanced Compile Options) как часть решения, я получаю ошибку сборки (см. Ниже). Если я перейду на AnyCPU, он будет работать как часть решения, включая доступ к OleDB (что должно означать, что это x86, верно?), Но автономная версия больше не может использовать OleDB (что означает, что это не x86, верно?) .
Проект Au: vb.net DLL, включен в ссылки на E, нет необходимости в OleDB. При компиляции как x86 я получаю ту же ошибку, что и в проекте ADB. Работает, если скомпилирован как AnyCPU. Был добавлен в VS 2008 на 32-битной машине.
Проект S: C # DLL, OleDB не требуется. Скомпилировано как x86 и включено в ссылки E, это работает. Это загрузка из Интернета, была добавлена в VS 2008 на 32-битной машине.
Ошибка сборки следующая:
Die Datei oder Assembly "file: /// X: /Entw/E/VB.net/ADB/bin/Debug/ADB.exe" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.
Переведено:
Не удалось загрузить файл или сборку "XYZ" или одну из их зависимостей. Была сделана попытка загрузить программу с неправильным форматом.
Ошибка OleDb, которую я получаю при запуске ADB в качестве автономного AnyCPU, выглядит следующим образом:
Der 'Microsoft.Jet.OLEDB.4.0' -Provider ist nicht auf dem lokalen Регистрация компьютера.
Это обычное предупреждение об ошибке 64-битного JET:
Поставщик Microsoft.Jet.OLEDB.4.0 не зарегистрирован на локальном компьютере.
Теперь, насколько я понимаю, обычно, если бы основным проектом был AnyCPU, а подпроект был конкретным, я бы получил ошибку сборки, поскольку он попытался бы получить доступ к x86 из AnyCPU, который в этом случае был бы x64. Но здесь я пытаюсь получить доступ к x86 с x86, что не работает, но доступ к AnyCpu (который должен быть x64) с x86 работает?
При необходимости я могу предоставить дополнительную информацию и все файлы конфигурации и т. Д.
Прошу прощения, если я написал это сбивающе с толку, но я очень запутался в этом вопросе.