Visual Studio からビルドを行う場合、ビルド後に、PowerShell MSBuild タスク ( http://powershellmsbuild.codeplex.com/ ) を使用して MSBuild から PowerShell スクリプトを実行します。この PowerShell コードでは、Visual Studio オートメーション (EnvDTE オブジェクトを介して) を使用して、プロジェクトに項目を追加/変更したいと考えています。
正確なケースは次のとおりです。
プロジェクトの X.asmx ファイルごとに、コンパイルを必要としない Xwsdl.aspx および Xdisco.aspx ファイルを追加する必要があります。これらのファイルがまだ生成されていない場合、または asmx ファイルが現在の Xwsdl.aspx および Xdisco.aspx ファイルよりも新しい場合にのみ、これを行います。なぜこれらの追加ファイルが必要なのか疑問に思われる場合は、SharePoint の問題です。
添加:
実行されたスクリプトに次の PowerShell コードを追加しました。
$process = [System.Diagnostics.Process]::GetCurrentProcess() Write-Host "プロセス名: $($a.ProcessName)"
どちらが返されますか:
プロセス名: devenv
つまり、msbuild は Visual Studio プロセスのコンテキストで実行されます。