Что может заставить пользовательскую задачу MSBuild Wmi выдать «ManagementException not found»? - PullRequest
0 голосов
/ 10 сентября 2010

Задача Wmi является частью пакета расширений MSBuild .На одной из наших машин для разработки выдается исключение 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 Ответ

2 голосов
/ 10 сентября 2010

Ошибка довольно проста (класс не найден). Я полагаю, что это происходит потому, что вы пытаетесь запросить службу по его отображаемому имени, а не по фактическому имени. Переключение второй задачи на

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

Должно быть, вероятно, добьется цели.

Надеюсь, это поможет,

...