Не удалось загрузить файл или сборку 'System.Управление.Автоматизации, Версия=3.0.0.0
Я создаю приложение на C#, пока все, что он делает, это вызывает команду powershell "get-process".
я отредактировал файл csproj для включения системы.Управление.Автоматизация
<ItemGroup>
<Reference Include="System.Management.Automation" />
при локальном запуске (Windows 8.1 с Powershell версии 4) он работает.
при запуске на удаленной машине Windows 7 с Powershell версии 2 программа выдает исключение
System.IO.FileNotFoundException: Could not load file or assembly 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Он не может найти систему.Управление.Автоматизация Версия=3.0.0.0. Я был убежден, что это будет работать на любой версии Powershell и ссылаться на локальную версию
командлет Get-Process работает на PS V2.
можно ли остановить форсирование версии 3 автоматизации управления системой? Я читал, что вы можете сделать это в приложении.config но нет ссылки на автоматизацию управления системой.
Спасибо за ваше время.
------------------------------------------------------ изменить -----------------------------------------------
я смог сделать эту работу, но установив целевую платформу на .Net 3.5, однако теперь это заставляет PS V2. Есть ли в любом случае я могу Настроить локальную версию dll system management и заставить клиентов использовать эту версию?
1 ответов
Powershell 2.0 не включает систему.Управление.Автоматизация V3. Система.Управление.Автоматизация обеспечивается ядром Windows Management Framework, а не .Сеть. Если у вас есть Powershell 2.0, у вас нет автоматизации 3.0. Список файлов / сборок, предоставляемых в Powershell 2.0, см. На следующем сайте:
среда управления Windows (Windows PowerShell 2.0, WinRM 2.0 и BITS 4.0)
обновление до Powershell 4.0 путем установки WMF 4.0 от Microsoft на целевой машине.
http://www.microsoft.com/en-us/download/details.aspx?id=40855