2009-06-02 16 views
2

プロジェクトレベルでビルドイベントを前後に行うことができますが、ソリューションのビルドの開始時と終了時にサービスを停止して開始したいと思っています。 'Build Solution'を実行するとサービスが停止し、ビルドの最後の動作はサービスを再起動することです。VS 2008のソリューションレベルのビルドイベント

ソリューションプロパティページにはビルドイベントがありません。どうすればよいですか?

私はmsbuildファイルにタスクを追加できると思っていますが、私はVSとmsbuildの関係を全く理解できません。 VSはSLBファイルでmsbuildを実行しますか?

答えて

2

私はこの正確な機能は、必要に応じて私は自分のプロジェクトのためのマクロを書いた:あなたはあなたのためにこれを行うマクロを書くことができます

を。 [ツール] - >かつて存在し

マクロIDE

は、ダブルEnvironmentEventsモジュールをクリックし、このコードを追加します。それは解決策の独立だように見えます

Private Sub BuildEvents_OnBuildBegin(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildBegin 
    If (Scope = EnvDTE.vsBuildScope.vsBuildScopeSolution) 
     //Do whatever solution independent stuff you need here. 
     If(DTE.Solution.FullName = "C:\My Solutions\Solution1.sln") 
      //Do whatever you need for Solution1.sln here. 
     End If 
    End If 
End Sub 

Private Sub BuildEvents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildDone 
    If (Scope = EnvDTE.vsBuildScope.vsBuildScopeSolution) 
     //Do whatever solution independent stuff you need here. 
     If(DTE.Solution.FullName = "C:\My Solutions\Solution1.sln") 
      //Do whatever you need for Solution1.sln here. 
     End If 
    End If 
End Sub 
+0

を。もし私が*発射する*ソリューションを構築すれば - そうですか? – nickd

+0

ソリューションのフルパスに基づいてソリューション依存ロジックを実行できるようにコードを変更しました。 1)マクロのマスターではなく、初心者です。2)MSBuildを使用できないため、マクロを使用する必要があります。 –

+1

私は、すべての開発者がビルドの一環としてそれを拾うことができるように、.slnと結びつけることができる解決策を望んでいました。これは可能ではないようですので、私はこのアプローチを使用して満足しています。 – nickd

関連する問題