ODP.NET x64 ANYCPU и Prefer 32-разрядная настройка

На моей машине установлена ​​последняя версия Oracle ODP.NET x64 (версия xCopy). У меня машина х64. Я не знаю, будут ли целевые машины x86 или x64, поэтому я установил свойства сборки на AnyCPU в VS 2012. По умолчанию активен флажок "предпочитаю 32-битный".

Компиляция в порядке, но когда я запускаю код, он говорит, что не может найти сборку. Снятие флажка "предпочитаю 32-битный" решает эту проблему.

Но что вызывает это? Я хотел бы предположить, что предпочтение 32-битного это хорошо, но он будет использовать x64, если это единственный вариант.

Есть идеи?

1 ответ

"Любой процессор" с "Prefer 32-bit" будет работать как 32-битный процесс на 64-битных машинах. И поскольку 32-разрядный процесс не может загружать 64-разрядные сборки ODP.NET (а также собственные библиотеки DLL), он вызывает исключение, которое вы упомянули.

Подробнее о настройке "Предпочитать 32-разрядную версию" можно прочитать здесь: /questions/27016236/kakova-tsel-parametra-predpochitat-32-razryadnyij-v-visual-studio-2012-i-kak-on-na-samom-dele-rabotaet/27016238#27016238

Другие вопросы по тегам