私は ac# プロジェクトを持っており、ソリューションでは、プラットフォーム ターゲットは AnyCPU です。このソリューションを毎日ビルドするビルド プログラムがあり、msbuild.exe を使用しています。コマンドは好きです:
MSBuild D:\my.sln /p:Configuration=Release /p:Platform=x86 /t:rebuild ....
ここでは、コンパイルされたプラットフォームが x86 であることを指定します。
私の意見では、msbuild.exe はソリューションの構成を上書きし、出力は anyCPU タイプではなく x86 exe になるはずです。
私はこのプロジェクトにこれらのコードを試します:
PortableExecutableKinds peKind;
ImageFileMachine machine;
Assembly.GetExecutingAssembly().ManifestModule.GetPEKind(out peKind, out machine);
テスト結果は、exe が AnyCPU モード (ILOnly) であることを示唆しており、期待したものではありません。このような状況で、自分のプログラムが x86 または x64 でコンパイルされていることをコードで知るにはどうすればよいですか?
ありがとう。リー