2013-02-10 6 views
1

Я использую MCS версию 2.10.8.1 в Ubuntu 12.04, я следующий код:InitializeComponent не существует в текущем контексте, используя Mono C# компилятор

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 Basi с; Я хотел бы знать, что я должен сделать, чтобы решить эту проблему. Благодарю.

ответ

2

Был ли ваш код C# изначально создан в Visual Studio? Если это так, то у вас, вероятно, будет файл Form1.Designer.cs, а также файл, содержащий код, который вы написали вручную. Вам нужно включить файл в командной строке.

Если не C# код, первоначально созданный в визуальной Studo, вы можете даже не иметь InitializeComponent метод ... но в этом случае вам нужно больше кода, чтобы сделать что-нибудь полезное в вашей форме (например, создание кнопку и подключить ее событие Click).

+0

Я думаю, что он, должно быть, был импортирован из MSVS, судя по ключевому слову 'partial'. – antonijn

+0

@Antonijn: Ну, похоже, что это возможно * было - но вы можете легко написать частичные классы вручную ... –

Смежные вопросы