有谁能告诉我为什么下面的代码没有向PS屏幕显示“blablabla”?我只看到从函数返回的随机数。
# Create a function that loads our managed code into powershell
function InitType
{
[string]$SourceCode = @"
using System;
namespace TestApp
{
// This class houses the public methods that we'll use from powershell
public static class TestMethods
{
public static int GetRandom()
{
var id = new Random().Next();
Console.WriteLine("bla bla bla");
return id;
}
}
}
"@
# use the powershell 2.0 add-type cmdlet to compile the source and make it available to our powershell session
add-type -TypeDefinition $SourceCode
}
# Load our C# code
InitType
# Call our method
[TestApp.TestMethods]::GetRandomAndOutputMessage
()
答案 0 :(得分:3)
Nuget Package Manager不是 PowerShell控制台。 Console.WriteLine写入控制台“应用程序”的控制台。 Visual Studio不是控制台应用程序。运行NPM的窗口托管PowerShell引擎并实现PSHost接口以允许引擎将信息输出到窗口。 Console.WriteLine在该方案中不起作用。