Windows XP x32 から Windows 8 x64 まで、多数の Windows マシンで動作する必要がある WPF アプリケーションがあります。私たちのアプリには、NHibernate と SQLite が含まれています。x64 の機能は必要ありません。すべてのアーキテクチャで問題なく実行されるようにアプリケーションを変更するにはどうすればよいですか?
- 私たちのアプリは.Net 4.0にあります
Windows XP x32 から Windows 8 x64 まで、多数の Windows マシンで動作する必要がある WPF アプリケーションがあります。私たちのアプリには、NHibernate と SQLite が含まれています。x64 の機能は必要ありません。すべてのアーキテクチャで問題なく実行されるようにアプリケーションを変更するにはどうすればよいですか?
AnyCpuアーキテクチャ用にコンパイルすると、x86/x64 に依存しなくなります。
もちろん、%PROGRAMFILES% のようなビット固有のものにアクセスしようとしている場合、これは問題を防ぐことはできません。これを行う場合でも、Environment.Is64BitOperatingSystemプロパティを使用してビット数をテストする必要があります。
外部依存の 64 ビットと 32 ビットの両方の dll を持っていない限り、最小公分母、つまり x86 用にコンパイルするだけで、32 ビットと 64 ビットの両方のバージョンの Windows で正しくインストールおよび実行されます。