• 締切済み

ubuntu上のMonoDevelopがダメ

ubuntu32の上にMonoDevelopをインストールして、ネットワークプログラムのサンプルを動かそうとしています。System.Netのusingが必要ということで、referenseにSystem.Netを参照できるようにしましたが、コンパイルすると、そういうライブラリは存在しない、と怒られます。 具体的には、下記のようなプログラムを書き、<エラー>のようなメッセージが出てしまいます。参照はできるのに、何故このようなメッセージが出るのでしょうか。どなたかMonoプロジェクトに詳しい方がいましたら教えていただけませんか。当方、MonoDevelopも.NET Frameworkもほとんど知識がありません。なので、基本的なところが分っていません。 よろしくお願いします。 using System; using System.Windows.Forms; using System.Net; namespace Sample1 { class Sample1 : Form { private Label lb1, lb2; public static void Main () { Application.Run(new Sample1()); } public Sample1() { this.Text = "サンプル"; this.Width = 300; this.Height = 100; string hn = Dns.GetHostName(); <エラー>The name 'Dns' does not exist in the current context. IPHostEntry ih = Dns.GetHostEntry(hn); <エラー>The type or namespace name 'IPHostEntry' could not be found. IPAddress ia = ih.AddressList[0]; <エラー>The type or namespace name 'IPAddress' could not be found.

みんなの回答

回答No.1

非常に紛らわしいが、アセンブリ名と入っている名前空間が異なることが割りとある。 例えば、System.Net.Dnsは http://docs.go-mono.com/?link=T%3aSystem.Net.Dns >Assembly: System (in System.dll) って書いてあるから、参照するのはSystem.NetではなくSystemが正しい。 #ちなみに同じ名前空間のクラスでも同じアセンブリにあるとは限らない。 例えばSystem.Int32(いわゆるint)はmscorlib.dllにある。(これはあえて除外しない限り自動的に参照される) http://docs.go-mono.com/?link=T%3aSystem.Int32 でも、System.UriはSystem.dllにある。 http://docs.go-mono.com/?link=T%3aSystem.Uri

japanist
質問者

お礼

BIGLOBE相談室には初めて投稿しました。 たった一晩で、ものすごい数の質問がなされているのには驚きました。 が、すぐに埋まってしまう質問に対して迅速に回答していただいたのには、 もっと驚きました。 'himajin100000'さん、ありがとうございました。 Referenseに「System」を追加したら、無事ビルドできました。 よちよち歩きなので、また質問させてもらうことも多いと思いますが、 よろしくお願いします。

関連するQ&A

専門家に質問してみよう