none
System.Net.Dns.GetHostNameでエラー RRS feed

  • 質問

  • いつもお世話になっております。

    過去に作成したアプリケーションをWindows7上で稼働させようとしています。

    テストした所、Windows フォームアプリケーションのSystem.Net.Dns.GetHostName()関数でエラーが発生します。

    メッセージは「”System.Net.Dns”のタイプ初期化子が例外をスローしました。」です。

    エラーが発生するPCと発生しないPCがあります。

    実行環境は下記の通りです。

    Windows7

    .Net Framework 1.1

    .Net Framework 1.1 Japanese Language Pack

    .Net Framework 4 Client Profile

    .Net Framework 4 Extended

    ※以前はWindowsXP  .NET1.1の環境で稼働させていました。

    回避方法または設定方法など、情報をお持ちの方がいらっしゃればご教授ください。

    2014年2月18日 10:27

すべての返信

  • まず、.NET Framework 1.1 は Windows 7 の時点で非サポートです。
    本来的には移行を計画していただく状況にあることにご理解をお願いします。

    次に、キーワードで探してみたところ、こういった事例がヒットしました。
    http://christ-offer.blogspot.jp/2011/06/type-initializer-for-systemnetdns-threw.html

    すでにご存知の内容かも知れませんが、念のために書き込みしておきます。

    • 回答の候補に設定 星 睦美 2014年3月10日 7:53
    2014年2月18日 13:48
    モデレータ
  • エラーメッセージからTypeInitializationExceptionが発生していると思われます。これはDnsクラスの初期化中に例外が発生し、Dnsクラスを準備できなかったことを意味します。発生した例外(=真の原因)はInnerExceptionプロパティに格納されているので、その内容を確認する必要があります。

    ググったところ、セキュリティ周り、ソケット初期化など複数の原因により発生し得るようです。

    ちなみにWindows 7には.NET Framework 3.5.1(及び2.0 SP2、3.0 SP2)がインストールされていますが、ここに挙げられていないということはあえてアンインストールしたということでしょうか?

    • 回答の候補に設定 星 睦美 2014年3月10日 7:53
    2014年2月18日 15:28