正在Visual Studio中引用system.management.automation.dll

s5a0g9ez  于 2022-12-27  发布在  其他
关注(0)|答案(9)|浏览(246)

我开始研究PowerShell模型和管理单元开发。我注意到的第一件事是引用System.management.automation.dll。但是在Visual Studio中,.NET选项卡没有该程序集,也无法浏览到
第一个月
以进行基于文件的引用。
是吗

sg24os4d

sg24os4d1#

System.Management.Automation on Nuget
System.Management.Automation.dll on NuGet,从2015年更新的软件包,没有像以前的一样未列出!
Microsoft PowerShell team packages un NuGet

**更新:**软件包现在归PowerShell团队所有。

zwghvu4y

zwghvu4y2#

安装Windows SDK时会安装System.Management.Automation.dll的副本(无论如何,都是合适的最新版本)。它应该位于C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0\

6ie5vjzr

6ie5vjzr3#

如果您不想安装Windows SDK,您可以通过在powershell中运行以下命令来获取dll:

Copy ([PSObject].Assembly.Location) C:\
vjhs03f7

vjhs03f74#

我无法正确安装SDK(有些文件似乎未签名,类似的东西)。我找到了另一个解决方案here,似乎对我来说工作正常。它根本不需要安装新文件。基本上,你要做的是:
在文本编辑器中编辑.csproj文件,然后添加:

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

至相关章节。

abithluo

abithluo5#

如果是64位文件,则为- C:\程序文件**(x86)\引用程序集\Microsoft\WindowsPowerShell3.0**
和版本可以不同

slmsl1lt

slmsl1lt6#

我使用VS Project Reference菜单并浏览到:C:\windows\assembly\GAC_MSIL\系统.管理.自动化并添加了对dll和运行空间dll的引用。
我不需要破解.csprj文件并添加上面提到的引用行。我没有安装Windows SDK。
我确实做了上面提到的Powershell副本:复制([PSObject].程序集.位置)C:
我用Powershell的Get-Process命令进行的测试成功了,我使用了Powershell for developers第5章中的例子。

ycl3bljg

ycl3bljg7#

正如@skfd在上面提到的,如果你的目标是.Net 4.8或更早版本,System.Management.Automation.dll包可以在NuGet上找到,但现在已经被除名,所以你需要手动安装它。

PM >Install-Package System.Management.Automation.dll -Version 10.0.10586

如果你的目标是.Net Core或Framework 5/6,那么System.Management.Automation包也是可用的,并且似乎是未来支持的包。你也可以尝试安装这个包并手动添加引用,但YMMV除外。

s71maibg

s71maibg8#

Powershell SDK附带的程序集(C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0)不附带Powershell 2特定类型。
手动编辑csproj文件解决了我的问题。

gcuhipw9

gcuhipw99#

您也可以使用nuget:https://www.nuget.org/packages/System.Management.Automation/这可能是一个更好的选择。

相关问题