[英]How to debug "invoking" Powershell (ps1) from C# file
我正在嘗試從 C# Visual Studio 解決方案調用 Powershell 文件。
顯然,在調試時,當它遇到調用 PS1 文件的行時,它似乎沒有做任何事情。
我收到這條消息:
我在 C# 中有這些行:
using System.Management.Automation;
PowerShell ps = PowerShell.Create();
ps.AddScript(File.ReadAllText(@"C:\Users\Justin\source\repos\HttpTrigger_1119\HttpTrigger_1119\list.ps1")).Invoke();
我的下一個嘗試是將斷點放在 ps1 文件本身中。
但是,它似乎甚至沒有在 ps1 文件的斷點處停止。
因為,它沒有命中 ps1 文件中的斷點,所以調用 PS1 文件時可能會丟失一些東西,不是嗎?
從現有的兩行中添加什么?
PowerShell ps = PowerShell.Create();
ps.AddScript(File.ReadAllText(@"C:\Users\Justin\source\repos\HttpTrigger_1119\HttpTrigger_1119\list.ps1")).Invoke();
關於“如何調試...”的問題
重構你的代碼:
PowerShell ps = PowerShell.Create();
ps.AddScript(File.ReadAllText(@"C:\Users\Justin\source\repos\HttpTrigger_1119\HttpTrigger_1119\list.ps1")).Invoke();
對於您可以在調試器中觀察到的內容:
var ps1Script = File.ReadAllText(...);
var newPs = ps.AddScript(ps1Script);
var psResult = newPs.Invoke();
並逐步檢查您的代碼,以確保它按照您的預期進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.