gpt4 book ai didi

c# - 无法加载文件或程序集“System.Management.Automation,版本 = 3.0.0.0

转载 作者:可可西里 更新时间:2023-11-01 13:22:44 25 4
gpt4 key购买 nike

我正在用 C# 构建一个应用程序,到目前为止它所做的只是调用“get-process”powershell 命令。

我已经编辑了 csproj 文件以包含 System.Management.Automation

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

在本地运行时(运行 Powershell 版本 4 的 Windows 8.1)它可以工作。

当在装有 Powershell 版本 2 的远程 Windows 7 机器上运行时,程序会抛出异常

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.

找不到 System.Management.Automation Version=3.0.0.0。我被引导相信这适用于任何版本的 Powershell 并引用本地版本

cmdlet Get-Process 确实适用于 PS V2。

是否可以停止强制使用系统管理自动化第 3 版?我读过您可以在 app.config 中执行此操作,但没有提及系统管理自动化。

谢谢你的时间。

-------------------------------------------- - - - - 编辑 - - - - - - - - - - - - - - - - - - - - - -----

我能够完成这项工作,但将 Target 框架设置为 .Net 3.5,但这现在强制执行 PS V2。无论如何我可以定位系统管理 dll 的本地版本并让客户端使用该版本吗?

最佳答案

Powershell 2.0 不包括 System.Management.Automation V3。 System.Management.Automation 由 Windows Management Framework Core 而非 .Net 提供。如果你有 Powershell 2.0,你就没有 Automation 3.0。有关 Powershell 2.0 中提供的文件/程序集的列表,请访问以下站点:

Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0)

通过在目标机器上安装 Microsoft 的 WMF 4.0 升级到 Powershell 4.0。

http://www.microsoft.com/en-us/download/details.aspx?id=40855

关于c# - 无法加载文件或程序集“System.Management.Automation,版本 = 3.0.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27515303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com