代码之家  ›  专栏  ›  技术社区  ›  Scott Lawrence

什么会导致WMI自定义msbuild任务引发“找不到ManagementException”?

  •  0
  • Scott Lawrence  · 技术社区  · 16 年前

    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 回复  |  直到 13 年前
        1
  •  2
  •   Start-Automating Christian    16 年前

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

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

    很可能会这样。

    希望这有帮助,