C#基于OS查找OS和调用引用

时间:2016-05-19 15:12:14

标签: c# wpf visual-studio powershell

我正在尝试从C#调用一个脚本在PowerShell中运行,现在这在我的机器上运行得非常好,这是Windows 10 64位,但是在Windows 7机器上,powershell引用位于不同的地方,而且我&#39 ; m假设这就是为什么我在按下按钮运行脚本时遇到异常System.IO.FileNotFound - 异常。

回到原来的问题,经过一些上下文后,我可以检查操作系统并依赖于结果调用不同的参考。

如果我没有意义,请告诉我,我会很乐意进一步讨论!

2 个答案:

答案 0 :(得分:0)

Here's a page on MSDN describing how to get the OS version.。您可以做的是找到版本并根据您获得的版本设置条件:如果是Win10,请转到C:\Windows\Directory\,如果是Win7,则转到C:\Windows\DifferentDirectory\。只要您知道所需文件的位置,就不会太困难。

答案 1 :(得分:0)

您已根据比安装的Windows 7客户端更新的PowerShell版本编译了应用程序。例外应该说明它正在寻找哪个版本。 Windows 7客户端具有PowerShell 2.0,除非您已更新WMF。

您有两种选择:

  • 根据System.Management.Automation 6.1.7601(PowerShell 2.0)编译应用程序。防爆。使用这个NuGet包:System.Management.Automation
  • 在Windows 7客户端上更新Windows Management Framework。最新版本是5.0,这是Windows 10附带的版本。