Como depurar "invocar" Powershell (ps1) C# arquivo de

0

Pergunta

Eu estou tentando invocar Powershell arquivo do C# Visual Studio solução.

Aparentemente, durante a depuração, parece que ela não faz nada quando bate a linha onde ele invocar arquivo PS1.

Estou recebendo essa mensagem:

enter image description here

Eu tenho estas linhas dentro do 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();

No entanto, quando o ponto de interrupção atinge a linha seguinte, ele não mostrar erros: enter image description here

Minha tentativa seguinte foi a colocação de ponto de interrupção dentro de ps1 próprio arquivo.

Mas, parece que ele não fez até parar no ponto de interrupção de arquivo ps1.

Desde então, ele não bateu o ponto de interrupção dentro do arquivo ps1, pode haver alguma falta de invocar arquivo PS1, não?

Nada a adicionar de duas linhas?

PowerShell ps = PowerShell.Create();
ps.AddScript(File.ReadAllText(@"C:\Users\Justin\source\repos\HttpTrigger_1119\HttpTrigger_1119\list.ps1")).Invoke();
c# powershell
2021-11-24 01:26:40
1

Melhor resposta

1

Em relação à questão "Como depurar..."

Refatorar seu código:

PowerShell ps = PowerShell.Create();
ps.AddScript(File.ReadAllText(@"C:\Users\Justin\source\repos\HttpTrigger_1119\HttpTrigger_1119\list.ps1")).Invoke();

Para algo que você pode observar no depurador:

var ps1Script = File.ReadAllText(...); 
var newPs = ps.AddScript(ps1Script); 
var psResult = newPs.Invoke();

E passo a passo através do seu código para garantir que ele está fazendo o que você espera.

2021-11-24 19:45:50

Que é exatamente o que eu fiz. Obrigado!
Java

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................