簡體   English   中英

將 Runspace Factory 用於 Powershell 出現錯誤

[英]Using Runspace Factory for Powershell Gives Error

我在使用下面的行時收到以下錯誤,直到我在這家新公司開始工作之前我從未見過它。

System.PlatformNotSupportedException:此平台不支持 ReflectionOnly 加載。
在 System.Reflection.Assembly.ReflectionOnlyLoadFrom(String assemblyFile)
在 System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadMshSnapinAssembly(PSSnapInInfo mshsnapinInfo)

錯誤發生在 using 語句中。 我在 Windows 2008 R2 上使用 Visual Studio 2017。

using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
          runspace.Open();
          PowerShell ps = PowerShell.Create();
          ps.Runspace = runspace;
          PSSnapInException psex;
          runspace.RunspaceConfiguration.AddPSSnapIn("Citrix*", out psex);

          Pipeline pipeline = runspace.CreatePipeline();

          Command getSession = new Command("Get-XASession");
          getSession.Parameters.Add("-ComputerName", serverName);
          getSession.Parameters.Add("-AccountDisplayName", objWINS + "\\" + strUser);
          pipeline.Commands.Add(getSession);
          Collection<PSObject> output = pipeline.Invoke();
}

事實證明,powershell 運行空間工廠不支持 .NET Core 應用程序。 我不得不使用普通的 .NET Framework 4.7.1 重新創建我的應用程序。

我不知道這個包是否比您的問題更新,但 2020 年的正確答案是堅持使用 dotnet 核心並使用正確的包。

dotnet add package Microsoft.PowerShell.SDK

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM