Система: Windows 7 Professional 64 бит, PowerShell v 2.0, без Visual Studio (не могут быть установлены и другие тоже)Отсутствует автоматизация из пространства имен «System.Management». Отсутствует ссылка на сборку
Пытается запустить PowerShell с C#. Это фрагмент кода:
using System;
using System.Management.Automation;
class Hello {
static void Main(string[] args) {
PowerShell ps = PowerShell.Create();
ps.AddCommand("Get-Process");
Console.WriteLine("Process Id");
Console.WriteLine("----------------------------");
foreach (PSObject result in ps.Invoke()) {
Console.WriteLine(
"{0,-24}{1}",
result.Members["ProcessName"].Value,
result.Members["Id"].Value);
}
}
}
Ошибка:
e:\foo.cs(2,25): error CS0234: The type or namespace name 'Automation' does not exist in the namespace 'System.Management' (are you missing an assembly reference?)
Поскольку ни Visual Studio не существует, я бегу код в сыром образом. Из-за ошибки я загрузил dll из http://www.dll-found.com/system.management.automation.dll_download.html
и поместил его в соответствии с инструкцией. После перезагрузки машины успеха не было.
Во-первых, я хочу задать общий вопрос. Как установить отсутствующий сборщик или файл dll (только), потому что для некоторых вам может потребоваться установить всю Windows или PowerShell SDK или .NET Framework.
EDIT
У меня есть место загруженный файл DLL в C: \ Windows \ SysWOW64, C: \ Windows \ system32, C: \ Program Files \ Reference Сборки \ Microsoft \ Framework \ v3.5 и C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.0.
Я компиляция с помощью: C: \ Windows \ Microsoft.NET \ Framework \ v3.5 \ csc.exe/цели: ех /out:E:\foo.exe E: \ foo.cs
вы добавили ссылочный System.Management.Automation.dll –
Как скомпилировать файл? Если вы запускаете 'csc.exe' напрямую, вы должны указать все ссылки в своей командной строке, а не просто« копировать »DLL-файлы в тот же каталог. –
Добавлена информация. – msinfo