我在Ubuntu 12.04中使用mcs版本2.10.8.1,我有以下代码:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.ShowDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
string fileName;
fileName = dlg.FileName;
MessageBox.Show(fileName);
}
}
}
}
我使用命令编译
$ mcs source_code.cs -r:System.Windows.Forms.dll -r:System.Drawing.dll
我收到错误
source_code.cs(11,13): error CS0103: The name `InitializeComponent' does not exist in the current context
Compilation failed: 1 error(s), 0 warnings
在使用Visual Basic的情况下,我看到了很多这个问题的答案;我想知道我应该怎么做才能解决这个问题。谢谢。
答案 0 :(得分:2)
您的C#代码最初是否在Visual Studio中创建?如果是这样,那么你可能会有一个Form1.Designer.cs
文件以及包含你手工编写的代码的文件。您需要在命令行中包含该文件。
如果不是最初在Visual Studo中创建的C#代码,您甚至可能没有InitializeComponent
方法......但在这种情况下,您需要更多代码才能执行表单中有用的任何内容(例如创建按钮并挂钩其Click
事件)。