Som du sa, det är bara en varning. Eftersom ODP.net inte är "AnyCPU" indikerar varningen att du har ett beroende som inte kommer att anpassa sig till värdoperativsystemet som din egen applikation är. Så länge din odp.net-installation matchar operativsystemet vad gäller bitar, kommer du att klara dig. Men kompilatorn kan inte ta den bestämningen och försöker ge dig ett meddelande.
Jag hittade en anslutningsartikel på detta som inkluderar en möjlig ändring (jag antar att proj-filen) för att inaktivera felet:
<PropertyGroup>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
I vilket fall som helst kommer din "AnyCPU"-applikation att fungera bra på din server så länge som 32-bitars odp.net du installerar på servern är samma version som 64-bitars odp.net du refererade till (eller utgivarpolicyer är korrekt installerade för att omdirigera till en senare version). För att eliminera all förvirring ställer jag vanligtvis in "Kopiera lokalt" för referensen till "falskt". Med andra ord kompilerar jag mot en specifik version av dll-filen men låter den köras mot vad den löser från GAC (som inkluderar utgivarpolicyer som de flesta av odp.net-installationerna inkluderar).
Du kan också installera 32-bitars odp.net på din dev-dator (helst samma version igen) för att köra/felsöka 32-bitars applikationer eller för att använda det integrerade verktyget som kommer "med Oracle Developer Tools for Visual Studio" inuti Visual Studio.
Allt som sagt, det finns mer än vad man ser här. Om din applikation faktiskt körs (vilket antyds med "det är bara en varning"), som 64-bitars, så använder den INTE din 32-bitars installation. Jag skulle gissa att din maskin redan har 64-bitarsversionen installerad (flera orakelhem).