使用System.Windows.Forms的单声道C#代码已损坏

使用System.Windows.Forms的单声道C#代码已损坏,c#,winforms,compiler-construction,mono,C#,Winforms,Compiler Construction,Mono,几个月前,我开始使用Mono编译一个相对简单的C#应用程序 今天我尝试继续这方面的工作,尽管之前有一个可执行文件证明它编译得很好,但它现在抱怨System.Windows.Forms C:\ProgramFiles\Mono-2.0.1\bin>mcs ../projects/test_1/test.cs ../projects/test_1/test.cs(2,14): 错误CS0234:类型或命名空间无效 中不存在名称“Windows” 名称空间“System”。你是不是错过了一场比赛 程序

几个月前,我开始使用Mono编译一个相对简单的C#应用程序

今天我尝试继续这方面的工作,尽管之前有一个可执行文件证明它编译得很好,但它现在抱怨System.Windows.Forms

C:\ProgramFiles\Mono-2.0.1\bin>mcs ../projects/test_1/test.cs
../projects/test_1/test.cs(2,14): 错误CS0234:类型或命名空间无效 中不存在名称“Windows” 名称空间“System”。你是不是错过了一场比赛 程序集引用?
编译失败:1个错误,0个警告

我发现有人在论坛上发布了同样的错误,建议如下:

mcs程序.cs-r:System.Windows.Forms.dll-r:System.Drawing.dll-v2

但是,-v2参数不起作用,没有它,只会出现一系列其他名称空间错误(ToolStripButton和类似错误)

我已经下载了最新的Mono 2.2,但这仍然会产生相同的错误

我该如何解决这个问题

gmcs Program.cs -r:System.Windows.Forms.dll -r:System.Drawing.dll

gmcs
使用.NET 2.0配置文件。

好奇,g代表什么?谢谢,这很有效。不知道为什么我上次没有注意到这是必要的。泛型。最初,编译器是mcs的一个分支,用于添加泛型。最终,从C#2.0开始的一切都投入了其中。后来它又与mcs合并了,但是很多人习惯于叫GMC,所以这个名字没有被删除。