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

时间:2016-12-18 12:11:33

标签: c# .net powershell powershell-v2.0

如何使用Add-Type添加带System.Windows.Forms命名空间的C#代码? 我试过这个命令:

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

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

但是我收到了一些错误:

  

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

我只想在PowerShell中使用 ONLY C#代码。请不要给我替代。

1 个答案:

答案 0 :(得分: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