在调试日志中执行时C#.Net Powershell异常

在调试日志中执行时C#.Net Powershell异常,c#,powershell,exception,visual-studio-2015,powershell-4.0,C#,Powershell,Exception,Visual Studio 2015,Powershell 4.0,当我从C#执行PowerShell 4.0脚本时,在调试器的输出中,我会得到一个异常,这是我在Windows PowerShell ISE中执行相同脚本时没有得到的 我提到: 这是我的PowerShell代码: $msg = "testVal" $ReportFile = "C:\Temp\Diag\test_err.txt" write-output "$msg" >> $ReportFile 第一个例外是: 'System.DllNotFoundExcept

当我从C#执行PowerShell 4.0脚本时,在调试器的输出中,我会得到一个异常,这是我在Windows PowerShell ISE中执行相同脚本时没有得到的

我提到:

这是我的PowerShell代码:

   $msg = "testVal"
   $ReportFile = "C:\Temp\Diag\test_err.txt"
   write-output "$msg"  >> $ReportFile
第一个例外是:

'System.DllNotFoundException' in System.Management.Automation.dll
每次运行PowerShell脚本时都会出现此错误。不管剧本里有什么。我不知道为什么会发生这种错误

如果文件C:\Temp\Diag\test\u err.txt不存在,则会发生第二个错误:

'System.Management.Automation.ItemNotFoundException' in System.Management.Automation.dll
为什么会发生这种情况?文件不在那里,但是命令创建了它

第三个错误是:

'System.Management.Automation.Host.HostException' in System.Management.Automation.dll
这一行正好写输出,如果我删除这一行,错误就会消失。我知道,如果我调用写主机或读主机,HostException应该会引发,但从Windows PowerShell ISE执行时,写输出甚至不会显示任何内容。我用同样的结果试用了这个文件。我再次尝试
调用表达式“cmd.exe/c(“$msg”“>>$ReportFile)”
,但出现了相同的错误

这些异常仅出现在VisualStudio调试器的输出中。如果文件不存在,则创建该文件;如果文件存在,则追加文本

这是一个测试。我的实际脚本要比这个大得多,并且会抛出大量这样的错误

此外,我还需要一种方法来获取这些错误并显示内部异常,这样我就可以了解它们引发错误的原因。我试图获取管道。错误,但它是空的。我尝试在PowerShell脚本中调用
$error
,但它也是空的

PowerShell的版本为:

$PSVersionTable

Name                           Value                                                                                                                                      
----                           -----                                                                                                                                      
PSVersion                      4.0                                                                                                                                        
WSManStackVersion              3.0                                                                                                                                        
SerializationVersion           1.1.0.1                                                                                                                                    
CLRVersion                     4.0.30319.42000                                                                                                                            
BuildVersion                   6.3.9600.16406                                                                                                                             
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}                                                                                                                       
PSRemotingProtocolVersion      2.2    
但是nuget包的版本是
6.1.7601.17515
,package.config中的版本是
Microsoft.PowerShell.5
。这有关系吗


谢谢

你好!!尝试连接dll:C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll,然后:使用System.Threading.Tasks;也许这会有帮助。你好,谢谢你的回答,但是我在那里的合同已经完成了:我只是一直工作到最后。
'System.Management.Automation.Host.HostException' in System.Management.Automation.dll
$PSVersionTable

Name                           Value                                                                                                                                      
----                           -----                                                                                                                                      
PSVersion                      4.0                                                                                                                                        
WSManStackVersion              3.0                                                                                                                                        
SerializationVersion           1.1.0.1                                                                                                                                    
CLRVersion                     4.0.30319.42000                                                                                                                            
BuildVersion                   6.3.9600.16406                                                                                                                             
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}                                                                                                                       
PSRemotingProtocolVersion      2.2