私はConfigurationNameに依存して私のためにファイルをコピーするためのポストビルドイベントを既に設定しており、クライアント側のconfig(js)ファイルに "環境変数"を設定できるようにしたい。そのためにはデバッグ情報がでpostbuildイベントでjsファイルを編集する
目に見えるか、アプリケーションを実行している環境に依存しないことができるようにするアプリケーション私はPowerShellスクリプト(ReplaceText.ps1)作成しました:
function replace-file-content([String] $path, [String] $replace, [String] $replaceWith)
{
(Get-Content $path) | Foreach-Object {$_ -replace $replace,$replaceWith} | Out-File $path
}
をし、このラインを追加しました私のウェブプロジェクトのビルドイベントをポストしてください。
私は単語を変更するには期待していたif "$(ConfigurationName)"=="LIVE" (powershell -File "$(ProjectDir)Tools\ReplaceText.ps1" "$(ProjectDir)app\application.config.js" "DEBUG" "LIVE")
「DEBUG」「LIVE」には、この行が含まれている私のapplication.config.jsファイル内のLIVEビルド構成に対して構築:
$provide.constant('currentEnv', 'DEBUG');
ビルドが成功しましたファイルは変更されません。誰かが私が間違っている場所を特定できますか?
私はGulpや他のタスクランナーBTWでこのようなことをすることができますが、別の依存関係を持たずに、VSポストビルドイベント& PSを使用せずにそれをしようとしていました。 :)
乾杯