gpt4 book ai didi

.net - 如何使用 Team Build 2010 部署 Windows 服务项目

转载 作者:行者123 更新时间:2023-12-04 07:28:28 24 4
gpt4 key购买 nike

我有一个 VS2010 解决方案,其中包括几个 Windows 服务项目。我需要将这些服务部署为 Team Build 2010 中构建的一部分,并且 Windows 服务必须部署在多台 Windows Server 计算机上。

我怎样才能做到这一点?

最佳答案

您可以 有条件地调用 SC.exe来自 Windows 服务项目文件的命令 (*.csproj) 在远程机器上安装 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 属性 DeployWinServiceTargetWinServiceHost用于控制编译后是否将Windows Service项目的输出安装到哪台机器上。 WinServiceName属性只是指定 Windows 服务在目标机器上的名称。

在您的 构建定义 您必须明确设置 DeployWinServiceTargetWinServiceHost 中的属性MSBuild 参数 领域 高级 部分:
/p:DeployWinService=true;TargetWinServiceHost=MACHINENAME

相关资源:
  • How to create a Windows service by using Sc.exe
  • Common MSBuild Project Properties
  • 关于.net - 如何使用 Team Build 2010 部署 Windows 服务项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5788648/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com