2011-10-30 13 views
0

Visual StudioでポストビルドイベントとしてPowerShellスクリプトを実行すると、同じスクリプトがコマンドラインからうまく動作するにもかかわらず、失敗します。どうしてこれなの?Visual StudioのPowershellスクリプト

+0

スクリプトを表示し、*失敗*(エラーメッセージ、実際の動作と予想される動作が異なる場合 - この場合は両方を記述してください)の意味を説明する機会はありますか? –

+0

申し訳ありませんが、私はこの質問への回答を期待していません!私はすでに答えを持っています。見つけるのが難しく、そうではありませんでしたので、ここに質問を入れて自分で答えました! –

+0

私のエラーは本当にあいまいでした "システムは指定されたプログラムを実行できません" –

答えて

0

これを研究する苦労を他の人に救うために自分の質問に答えるだけです。

ウェルhttp://www.vistax64.com/powershell/205436-running-powershell-post-build-event-ignoring-executionpolicy.htmlは、Visual Studioが32ビットであるにもかかわらず、独立した64ビットバージョンのpowershellを実行することを示しています。

現実には、通常のPowershellコマンドプロンプトがWindows \ system32バージョン(64ビット?!)にデフォルト設定されている間、Visual StudioはWindows \ syswow64バージョンのPowershell(32ビット!?)を実行しているようです。そのために実行ポリシーなどを別途設定する必要があります。

0

(このスレッドは新しいものではありませんが、私はグーグルからここに来たので、私は私が見つけた解決策を共有する他の人に興味深いものになるだろうと思った)

私は「の%WINDIR%にたpowershell.exeへのパスを変更してみました\ SysNative \ WindowsPowerShell \ v1.0 \ powershell.exe "となり、完璧に動作しました。ポストビルドイベントから64ビットバージョンが呼び出され、SharePointスナップインが正常に追加されます。

この記事のクレジット:http://msdn.microsoft.com/en-us/library/ff798298.aspx「Windows PowerShellスクリプトを使用したVisual Studioでのタスクの自動化」

関連する問題