「Any CPU」としてWindowsサービスを構築しました。ただし、64 ビット マシンで実行すると、32 ビットで実行されます。どうすれば修正できますか?.NET と C# を使用しており、オペレーティング システムは Windows 2008 R2 です。
x64 でビルドすると、64 ビット モードで正しくロードされます。ただし、「Any Cpu」-これは私が望んでいるものです-実行しているマシンが64ビットを完全にサポートしているにもかかわらず、32ビットでロードされます。
編集して、フィードバックに基づいてさらに情報を追加します
サード パーティのツールがあり、C++ マネージ アセンブリを参照しています。これらは、任意の CPU 用に構築されている場合と構築されていない場合があります。実際、c++ マネージ アセンブリは x86 用にのみビルドされていることを知っています。ただし、奇妙なことに、x64 を具体的に指定すると、プロセスが起動して x64 で動作します。フレームワークが C++ マネージ アセンブリを読み込もうとすると、失敗します。コードでは、64 ビット モードで実行している場合、32 ビット マネージ ++ アセンブリをロードしないため、これは気にしません。ここに 32 ビット アセンブリがあるため、起動プロセス (この場合は Windows サービス アセンブリ) を x86 としてマークする必要があるとビルドが判断している可能性がありますか?