2009-09-01 3 views
32

通常の(Windowsフォームと呼ばれる)C#アプリケーションでは、ビルドが成功した後にコマンドを実行するために、プロジェクトプロパティでビルドイベント - >ビルド後イベントコマンドラインを使用します。投稿パブリッシュイベント

ソリューションエクスプローラのコンテキストメニューで[公開...]コマンドを使用して「公開」するWebサイトプロジェクトがあります。

パブリッシュが成功した後でコマンドを実行する方法はありますか? (例:Post-Publishイベントのコマンドラインフィールド)

Visual Studio 2008、ASP .Net Web site project、C#。

答えて

24

更新: Publish WebはフォルダベースのWebサイトプロジェクトには適用されないため、この回答はWebアプリケーションプロジェクトについて質問していることを前提としています。

これはVS IDEの内部からは実行できません。ただし、メモ帳やお気に入りのXMLエディタでプロジェクトファイルを編集し、AfterPublishというファイルの末尾に新しいターゲットを追加することができます。

MSBuildについては、このターゲットで何ができるか分からない場合は、もう少しお読みください。

VSでのビルドプロセスの拡張に関する詳細は、MSDN - HowTo: Extend the Visual Studio Build Processにあります。

+0

ありがとうございました。私は、IDEの内部では可能ではないと恐れていました。私たちのCIがmsbuildスクリプトを使用するので、これは素晴らしいソリューションです。ビジュアルスタジオでもやってみたいと思っていました。私は、新しいmsbuildスクリプトを作成し、Visual Studio "publish"の代わりにそのビルドスクリプトを実行するための "External Tools"コマンドを作成します。可能であれば、projファイルを変更したくない場合があります。 ご協力いただきありがとうございます。 – Russell

+0

私はこれが受け入れられた答えである方法を理解していないので、私は答えを投票しませんでした。 Webサイトにプロジェクトファイルがありません。私と他の人が答えを明確にすること、またはこの答えがなぜ受け入れられたのかを説明することによって理解できるように助けてください。 – AMissico

+0

それはちょうど混合用語です。あなたは正しいフォルダベースのWebサイトプロジェクトにはプロジェクトファイルがありません。しかし、そのようなプロジェストのための発行コマンドもありません。一方、Webアプリケーションプロジェクトにはプロジェクトファイルがあり、Web公開コマンドがそれらに適用されます。私の前提は、ウェブアプリケーションとウェブサイトの2つの質問です。私の答えが受け入れられたので、私は私の仮定が正しいことを推測することを試みるだろう。もちろん、正しい用語を使用することは許されません。 –