我正在使用Powershell ISE来运行构建脚本 - 而后者又使用MSBuild - 然而 - 它不允许MSBuild的文本颜色透过。 MSBuild输出彩色编码信息 - 黄色,灰色,绿色或红色,具体取决于其内容。
如果我通过普通的powershell.exe(下面是CMD)运行脚本,我会得到颜色编码。
在Powershell ISE中,我使用Write-Host -ForegroundColor Green 'hello'
对其进行了测试,因此MSBuild的颜色不起作用的原因是什么?
答案 0 :(得分:6)
PowerShell.exe是基于Win32控制台的应用程序,因此它是MSBUILD.exe,这就是它可以使用控制台颜色输出的原因。 PowerShell_ISE不是基于控制台的应用程序。它是一个Windows子系统应用程序 - 特别是它是一个WPF应用程序。您在Command工具窗口中看到的是控制台模式的模拟,但不是100%的傻瓜式模拟。如果您有权访问旧的edit.com,它应该在PowerShell.exe中工作。我很确定它在PowerShell_ISE命令窗口中不起作用。