2009-03-06 14 views
16

x64版のWindowsで.NETアプリケーションを32ビットアプリケーションとして実行するように設定できる環境変数があると言われました。それが何であるかを知っていますか、それについてのリファレンスを知っていますか?私は今日私のgoogle-fuが私に失敗した(またはそれは存在しない)のではないかと恐れている。.NETアプリケーションを32ビットとして動作させるための環境変数

私はResolver One(.NETスプレッドシート)を使用しており、実行可能ファイルを変更せずに一部の32ビットのみの機能にアクセスしたいとします。これを環境変数から設定することができれば、必要に応じて32ビットの機能にアクセスできますが、必要に応じて64ビットのアプリケーションとしても実行できます。

は(注:効果的に私は、アプリケーションがコンパイル時にそれを強制するのではなく、起動時に32ビットまたは64ビットとして実行するかどうかを切り替えることができるようにしたい。)

おかげ

答えて

14

。私はまだそれをテストする時間がなかった...

それはCOMPLUS_ENABLE_64BITです。私はそれを0に設定すると64ビットを無効にすると思います。

env varとして設定するか、名前を "Enable_64Bit"、タイプREG_DWORD、値を0にしてHKLM \ Software \ Microsoft \ .NETFrameworkに値を追加してグローバルに設定する必要があります(これはすべてのCOMPlus_ * varsが動作します)。これは、プロセスが作成される前に実行されていなければならない特別なものかもしれませんが、regキーに設定する必要がありますが、完全にはわかりません。

+1

環境変数は私のためには機能しませんでしたが、レジストリエントリを設定してリブートしました。 – fuzzyman

+0

レジストリ設定も私のために働いた、ありがとう! – UserControl

+0

レジストリ設定は、魅力的な、感謝のように働いた:) –

2

チェックこの:http://www.hanselman.com/blog/BackToBasics32bitAnd64bitConfusionAroundX86AndX64AndTheNETFrameworkAndCLR.aspx

プロジェクトプロパティダイアログのターゲットプラットフォームbtw。

+0

いいえ - 実行時ではなくコンパイル時に32bitnessを設定する方法については言及していません。私は時々* 32ビットアプリケーションとして実行したい.NETアプリケーションを持っています。 – fuzzyman

9

どの程度this link

ない、非常に環境変数が、ちょうど前後に切り替えることCoreFlagsツールを使用します。

は32ビットに切り替えるには:

CorFlags.exe TheApp.exe /32BIT+ 

は64ビットに戻るには:私はディーノVeihland(マイクロソフトIronPythonの開発者)からの答えを持っていた

CorFlags.exe TheApp.exe /32BIT- 
+0

ええと...これは私が避けようとしていたものですが、選択肢がないかもしれません - ありがとうございます。 – fuzzyman

+0

@Ruben - 私の答えを修正しました。 –

+0

@エリック:素晴らしいもの;私のコメントを削除 –

関連する問題