Windows Powershell SDK和System.Management.Automation.PSObject

时间:2009-12-08 04:14:59

标签: c# windows powershell sdk

我在一个c sharp程序中有一个构建错误,我正在Windows Server(2008,我猜)SP 2 64位操作系统上的Visual Studio 2008中编译。 它表示'System.Management.Automation.PSObject'是在未引用的程序集中定义的。 我在MSDN中进行了一些搜索,我发现这似乎是Windows Power Shell SDK的一部分。 http://msdn.microsoft.com/en-us/library/system.management.automation.psobject(VS.85).aspx

问题是我已经有了Windows Powershell。如果这就是我需要的,我该如何使用它或在C Sharp IDE中引用它。如果我需要下载额外的东西(即SDK),我该去哪里做并安装它?我在网上找不到任何东西。

3 个答案:

答案 0 :(得分:34)

如果在那里找不到,请在PowerShell提示符下输入。

Copy ([PSObject].Assembly.Location) ~/Desktop

答案 1 :(得分:14)

C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0中查找System.Management.Automation.dll,如果存在,请将其添加为C#项目中的引用。如果它不存在,则下载Windows SDK,将文件放在上面的位置。

答案 2 :(得分:14)

要正确引用PowerShell,您应该参考GAC中的PowerShell。 Vista SDK附带的PowerShell是PowerShell V1.0,这项技术将引用1.0,2.0或X.0,无论安装什么。引用SDK程序集也不会创建最便携的项目,因为您必须安装SDK才能构建项目,而不仅仅是Visual Studio和Windows。

不幸的是,引用GAC项目并不是Visual Studio UI干净利落的事情,因此您必须手动编辑CSProj文件。找到包含元素的部分,并添加此引用元素。

<Reference Include="System.Management.Automation" />

这将引用系统上安装的最新System.Management.Automation,无论它是什么版本。

希望这有帮助