Jest to czysto problem związany z wdrażaniem, nigdy nie powinieneś mieć konieczności utrzymywania różnych projektów. Jest to jednak niezręczne i bou na Oracle za to, że sami się tym nie zajmują. Inną kwestią jest to, że ten zestaw naprawdę powinien być ngen-ed na maszynie docelowej. Niektóre opcje
- Utwórz dwa instalatory, jeden dla x64 i jeden dla x86. Klient wybiera właściwy, w oparciu o system operacyjny, którego używa. Wystarczy skopiować odpowiedni plik.
- Wdróż oba zestawy w GAC. Teraz jest to automatyczne, .NET wybiera właściwy na każdym typie maszyny. Duże firmy powinny prawie zawsze używać GAC, aby mogły wdrażać aktualizacje zabezpieczeń, nie wiedząc, dlaczego Oracle tego nie robi.
- Wdróż zestawy w podkatalogu x86 i x64 katalogu instalacyjnego. Będziesz musiał napisać procedurę obsługi zdarzeń AppDomain.AssemblyResolve, która na podstawie wartości IntPtr.Size wybiera właściwy katalog.
- Zmień platformę docelową w projekcie EXE na x86. Biorąc pod uwagę, że Twój kod musi działać na maszynie 32-bitowej, jak również na maszynie 64-bitowej, nie ma/nie powinno być powodu, aby budować dla AnyCPU.