Som du sagde, det er bare en advarsel. Fordi ODP.net ikke er "AnyCPU", indikerer advarslen, at du har en afhængighed, der ikke vil tilpasse sig værtsoperativsystemet, som din egen applikation er. Så længe din odp.net-installation matcher os med hensyn til bits, vil du være i orden. Men kompilatoren er ikke i stand til at tage den beslutning og forsøger at give dig et heads up.
Jeg fandt en forbindelsesartikel på dette, som inkluderer en mulig ændring (jeg går ud fra til proj-filen) for at deaktivere fejlen:
<PropertyGroup>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
Under alle omstændigheder vil din "AnyCPU"-applikation køre fint på din server, så længe den 32 bit odp.net du installerer på serveren er den samme version som den 64 bit odp.net du refererede til (eller udgiverpolitikker er korrekt installeret til omdirigere til en senere version). For at eliminere enhver forvirring indstiller jeg generelt "Kopiér lokalt" for referencen til "falsk". Med andre ord kompilerer jeg mod en specifik version af dll'en, men lader den køre mod det, den løser fra GAC (som inkluderer udgiverpolitikker, som de fleste af odp.net-installationerne inkluderer).
Du kan også installere 32-bit odp.net på din dev-maskine (ideelt set den samme version igen) for at køre/fejle 32-bit-applikationer eller for at bruge det integrerede værktøj, der følger "med Oracle Developer Tools for Visual Studio" inde i Visual Studie.
Når det er sagt, er der mere end man kan se her. Hvis dit program rent faktisk kører (hvilket er underforstået med "det er kun en advarsel"), som 64 bit, så bruger det IKKE din 32 bit installation. Jeg vil gætte på, at din maskine allerede har 64 bit versionen installeret (flere oracle homes).