什么可能导致Wmi自定义MSBuild任务抛出“未找到ManagementException”?

时间:2010-09-09 22:29:42

标签: msbuild wmi

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任务是抛出异常的任务。

1 个答案:

答案 0 :(得分:2)

错误非常简单(找不到类)。我相信它正在发生,因为你试图通过它的显示名称查询服务,而不是它的实际名称。将第二个任务切换为

Instance="Name='%(Info.Name)'"

应该可以做到这一点。

希望这有帮助,