使用Microsoft.Sdc.Tasks.ServiceProcess.ControlService如何检查远程计算机上是否存在服务?

时间:2008-10-06 07:27:20

标签: .net msbuild

我正在尝试使用Microsoft.Sdc.Tasks.ServiceProcess.ControlService任务检查远程计算机上是否存在服务。

<ControlService  MachineName="$(TargetMachineName)" Action="Exists" ServiceName="w3svc">
    <Output PropertyName="W3ServiceExists" TaskParameter="ServiceExists" />
</ControlService>

当我使用上述任务声明时,我从MSBUILD获得此输出。

  

(42,54): error MSB4065: The "ServiceExists" parameter is not marked for output by the "ControlService" task.

有没有办法使用ControlService类来获取远程计算机上是否存在服务?

1 个答案:

答案 0 :(得分:4)

答案是提取代码并使用ServiceExists属性正确标记[Output]属性重新编译。

建议任何找到这个答案的人看看MS Build Extension Pack,因为在这组MS Build任务中不存在这个问题,并且它更积极地开发。