Detta är enbart ett distributionsproblem, du ska aldrig behöva underhålla olika projekt. Det är dock en besvärlig sådan, och boo på Oracle för att de inte sköter detta själva. Ett annat övervägande är att denna sammansättning verkligen borde skapas på målmaskinen. Vissa alternativ
- Skapa två installationsprogram, en för x64 och en för x86. Kunden väljer rätt, baserat på operativsystemet hon använder. Enkelt nog, du kopierar bara rätt fil.
- Distribuera båda sammansättningarna till GAC. Nu är det automatiskt, .NET väljer rätt på båda typerna av maskin. Stora företag bör nästan alltid använda GAC så att de kan distribuera säkerhetsuppdateringar, inte säker på varför Oracle inte gör detta.
- Distribuera sammansättningarna till en x86- och x64-underkatalog i installationskatalogen. Du måste skriva en AppDomain.AssemblyResolve-händelsehanterare som, baserat på värdet på IntPtr.Size, väljer rätt katalog.
- Ändra målplattformen på ditt EXE-projekt till x86. Med tanke på att din kod måste fungera på en 32-bitars maskin såväl som på en 64-bitars maskin, finns/bör det inte finnas någon anledning att bygga för AnyCPU.