Wmi任务是MSBuild Extension Pack的一部分。在我们的一台开发机器上,它抛出了找不到的ManagementException。这是目标:
<Target Name="Clean">
<ItemGroup>
<WmiProps Include="State"/>
<WmiProps Include="DisplayName"/>
</ItemGroup>
<!-- Create list of services that are currently running. -->
<Wmi TaskAction="Query" Class="Win32_Service WHERE DisplayName LIKE '%ServiceName%'" Properties="@(WmiProps)" Namespace="\root\CIMV2" MachineName="$(LocalDbServer)">
<Output TaskParameter="Info" ItemName="Info"/>
</Wmi>
<Wmi TaskAction="Execute" Class="Win32_Service" Method="StopService" Instance="Name='%(Info.DisplayName)'" Namespace="\root\CIMV2">
<Output TaskParameter="ReturnValue" PropertyName="Rval1"/>
</Wmi>
</Target>
第二个WMI任务是抛出异常的任务。
答案 0 :(得分:2)
错误非常简单(找不到类)。我相信它正在发生,因为你试图通过它的显示名称查询服务,而不是它的实际名称。将第二个任务切换为
Instance="Name='%(Info.Name)'"
应该可以做到这一点。
希望这有帮助,