如何使用Add-Type通过System.Windows.Forms命名空间添加C#代码?

saf*_*oli 2 .net c# powershell powershell-2.0

如何使用命名空间Add-Type添加C#代码System.Windows.Forms?我尝试了以下命令:

Add-Type -TypeDefinition @"
using System;
using System.Windows.Forms;

namespace testnamespace
{
    public static class testclass
    {
        public static string messagebox()
        {
            MessageBox.Show("test")
            return "test";
        }
    }
}
"@ 
Run Code Online (Sandbox Code Playgroud)

但是我遇到了一些错误,例如:

类型或名称空间名称“ Forms”在名称空间“ System.Windows”中不存在(您是否缺少程序集引用?)

我只是想用ONLY在PowerShell中的C#代码。请不要给我的选择。

Mat*_*sen 5

System.Windows.Forms.dll使用以下ReferencedAssemblies参数添加对包含程序集(文件)的引用:

Add-Type -TypeDefinition @"
using System;
using System.Windows.Forms;

namespace TestNamespace
{
    public static class TestClass
    {
        public static string MessageBox()
        {
            MessageBox.Show("test");
            return "test";
        }
    }
}
"@ -ReferencedAssemblies System.Windows.Forms
Run Code Online (Sandbox Code Playgroud)