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

什么可能会导致Wmi自定义MSBuild任务抛出;未找到ManagementException";?,msbuild,wmi,Msbuild,Wmi,Wmi任务是任务的一部分。在我们的一台开发机器上,找不到该异常。目标如下: <Target Name="Clean"> <ItemGroup> <WmiProps Include="State"/> <WmiProps Include="DisplayName"/> </ItemGroup> <!-- Create list of services that are current

Wmi任务是任务的一部分。在我们的一台开发机器上,找不到该异常。目标如下:

<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任务是引发异常的任务。

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

Instance="Name='%(Info.Name)'"
也许应该这样做


希望这有帮助,

谢谢!我们的服务以前是以相同的方式完成的,显示名称和名称是相同的(之前的目标是在该假设下工作的)。这种情况最近似乎发生了变化,打破了目标。将名称添加到WmiProps并将属性更新为答案中的内容,修复了所有问题。