Както каза, това е само предупреждение. Тъй като ODP.net не е „AnyCPU“, предупреждението показва, че имате зависимост, която няма да се адаптира към хост операционната система, както е вашето собствено приложение. Докато вашата odp.net инсталация съвпада с операционната система по отношение на битове, ще бъдете добре. Но компилаторът не може да направи това решение и се опитва да ви предупреди.
Намерих статия за свързване на това, което включва възможна промяна (предполагам в proj файла), за да деактивирате грешката:
<PropertyGroup>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
Във всеки случай вашето приложение "AnyCPU" ще работи добре на вашия сървър, стига 32-битовият odp.net, който инсталирате на сървъра, да е същата версия като 64-битовия odp.net, който сте посочили (или правилата на издателя са правилно инсталирани за пренасочване към по-нова версия). За да премахна всякакво объркване, обикновено задавам "Копиране на локално" за препратка към "false". С други думи, компилирам срещу конкретна версия на dll, но я оставям да работи срещу това, което разрешава от GAC (което включва правила на издателя, които повечето от инсталациите на odp.net включват).
Можете също така да инсталирате 32-битовия odp.net на вашата машина за разработка (в идеалния случай отново същата версия), за да изпълнявате/отстранявате грешки в 32-битови приложения или да използвате интегрирания инструментариум, който идва „с Oracle Developer Tools за Visual Studio“ вътре в Visual Студио.
Всичко това каза, че тук има повече, отколкото се вижда на пръв поглед. Ако вашето приложение действително работи (което се подразбира с „това е само предупреждение“), като 64-битово, то НЕ използва вашата 32-битова инсталация. Предполагам, че вашата машина вече има инсталирана 64-битова версия (няколко домове на оракул).