8
我有一個VS2010解決方案,其中包含多個Windows服務項目。我需要將這些服務作爲Team Build 2010中的一部分進行部署,並且Windows服務必須部署在多臺Windows Server計算機上。如何使用Team Build 2010部署Windows Service項目
我該怎麼做?
我有一個VS2010解決方案,其中包含多個Windows服務項目。我需要將這些服務作爲Team Build 2010中的一部分進行部署,並且Windows服務必須部署在多臺Windows Server計算機上。如何使用Team Build 2010部署Windows Service項目
我該怎麼做?
您可以有條件地調用Windows服務項目文件(* .csproj)中的SC.exe命令以在遠程計算機上安裝Windows服務。
下面是一個例子:
<PropertyGroup>
<DeployWinService>false</DeployWinService>
<WinServiceName>MyService</WinServiceName>
<TargetWinServiceHost Condition="'$(TargetWinServiceHost)' == ''">localhost</TargetWinServiceHost>
</PropertyGroup>
<Target Name="AfterCompile">
<CallTarget Targets="PublishWinService" />
</Target>
<Target Name="PublishWinService"
Condition="'$(DeployWinService)' == 'true'">
<Exec Command="sc stop $(WinServiceName)" ContinueOnError="true" />
<Exec Command="sc \\$(TargetWinServiceHost) create $(WinServiceName) binpath= '$(OutDir)\$(AssemblyName).exe' start= auto" />
</Target>
這裏我們定義自定義的MSBuild屬性DeployWinService
和用來控制是否Windows服務項目的輸出將編譯後進行安裝和TargetWinServiceHost
到機器。 WinServiceName
屬性只是簡單地指定了Windows服務在目標機器上的名稱。
在你構建定義你必須在的MSBuild參數明確設置DeployWinService
和TargetWinServiceHost
性能高級節領域:
/p:DeployWinService=true;TargetWinServiceHost=MACHINENAME
相關資源: