2011-06-29 20 views
1

Visual StudioからPowerShell(外部コマンドとして)を実行するには、何度も説明してください。私はそれがビットの違いとは関係がありますが、理由は分かりません。私が正しく覚えていれば、コンテキストは64ビットのWindows 7 OS、32ビットのVisual Studio、32ビットのPowerShellです。 64ビットOSは問題なく32/64両方のアプリケーションを実行できるので、ここで何が問題なのですか?なぜですか?WOW64 - Visual Studio内からpowershellを実行しています

インターネット検索では、これはWOW64と関係があると信じています。したがって、タグですが、わかりません。私はOSが古い32ビットソフトウェアをエミュレートしているのを知っていますが、なぜVSが、 '...ネイティブ...'フォルダを追加するなど、フープを実行せずにPowerShellを起動するコマンドを実行できないのか分かりません。私たちのインストラクターには実際には存在しません)。

混乱しないことを望みます。

答えて

5

Visual Studioは32ビットプロセスであり、64ビットバージョンはありません。 c:\ windows \ system32から何かを実行するように要求すると、Windowsは要求をc:\ windows \ syswow64にリダイレクトします。すべての32ビットWindows実行ファイルのホーム。

代わりに回避策は%windir%\ sysnativeを使用して、c:\ windows \ system32にリダイレクトされます。

ファイルシステムリダイレクタはdescribed hereです。

+0

しかし、わからないことは、リダイレクトが必要な理由です。 system32フォルダに64ビットアプリケーションが含まれていると、なぜ重要なのですか? OSは64ビットです...編集:なぜOSは32ビットと64ビットの両方を実行できないのですか? – KyleM

+0

これまでに64ビットオペレーティングシステムについて聞いたことがないプログラマーによって書かれたたくさんのプログラムがあります。ほとんどの場合、まだコードが書かれていないからです。これらのプログラムは、c:\ windows \ system32のファイルにアクセスしようとします。これらのプログラムは失敗します。これはアプリケーション互換性の機能です。 –

+0

Ooooohhh!どうもありがとうございます。それは完全にそれをクリアする。 – KyleM

関連する問題