モンドリィの自習室 - トップへ - 悶絶C#へ     
 

 エラーと対処の記録

  ● いわゆる覚え書き。自分が学んだことを忘れないように残しておこうと思います。

   ● 目次 ●

  ・ はじめに

  ・ XML コメントがありません

  ・ IISと.NET Frameworkのインストール順序

  ・ 対象のコンピュータによって拒否されたため、 接続できませんでした。

  ・ ソケットが接続されていないか、sendto 呼び出しを使ってデータグラム ソケットで送信するときに
アドレスが指定されていないため、データの 送受信を要求することは禁じられています。

  ・ ノータッチデプロイメント:ローカルテストで例外(SecurityException)発生

  ・ ノータッチデプロイメント:Webサイトのexeをクリックし例外(SecurityException)発生

  ・ ノータッチデプロイメント:Permissionエラーで例外(SecurityException)発生

  ・ 文書は保存されましたが、音声認識データを保存する十分な空き領域がない・・・云々

  ・ GDI+ で一般的なエラーが発生しました

  ・ あとがき

 


 

 

  はじめに

   悩まされたエラーなどについて、覚書をつれづれなるままに書き込んでいきます。

 

  ご注意

  ※ OSは2003年春よりWindowsXP Professional, 開発ツールはVS.NET 2003を使用しています


 

  XML コメントがありません 警告

 

Q.

「warning CS1591: 公開されている型またはメンバ '名前空間.クラス名.メンバ名' の XML コメントがありませんん。」と言う警告が突然出るようになりました。

 

A.

プロジェクトの設定(プロパティ)でビルドの際に、XML ドキュメントの形式でクラスやメソッド、プロパティなどのサマリーを出力させることができます。その設定のファイル名を空にすれば XML コメント出力の機能は Off になります。

   参考資料  : GotDotNetと言うサイトの掲示板で、竹井さんに教えていただきました。

   記事作成日 : 2004/10/12

   記事最終更新日 : まだない。


 

  IISと.NET Frameworkのインストール順序

  .NET Frameworkはインストール時にIISを自動的に検出し、ISAPI Extension
  と呼ばれる拡張子登録を行い、ASP.NETランタイムを有効にする。このため、
  .NET Frameworkインストール後にIISをインストールした場合には
  ISAPI Extensionの登録を行わないとASP.NETランタイムが動作しない。
  誤ってIISのインストールを後から行ってしまった場合には、

  %WINNT%Microsoft.NET\Framework\v1.0.3705\aspnet_regiis.exe -i

  を、コマンドプロンプトより実行するとよい。

  「.NET エンタープライズWebアプリケーション開発技術大全 ASP.NET 基礎編」より抜粋

   記事作成日 : 2004/07/15

   記事最終更新日 : まだない。


 

  対象のコンピュータによって拒否されたため、 接続できませんでした。

  【現象】SMTPサーバーの記述が誤っていたときに出た。、メールサーバー への接続に失敗した
      場合に発生する。

  【対処】SMTPサーバーを正しく記述しなおしたら出なくなった。

   ※ちなみにこれはグレープシティのコンポーネント Mail for .NETの例外エラー
    単なるケアレスミスなんですが(^_^;、原因をつきとめるのに時間がかかったので、もしか
    して、いつか誰かのお役に立てば、それと自分がまた忘れたらのために(^_^; 記録。

   記事作成日 : 2005/05/31

   記事最終更新日 : まだない。

 


 

 

  ソケットが接続されていないか、sendto 呼び出しを使ってデータグラム ソケットで送信するときに
   アドレスが指定されていないため、データの送受信を要求することは禁じられています。

  【現象】Windowsアプリからメールを送信時に、Win32 WSAENOTCONN エラー発生。

  【対処】わからず・・・。衝突を起こしてるのかな?

   ※長いメッセージね・・・と言うことで、長すぎて全文で検索してもなかなか意図する内容の
    情報が引き出せなかった(^_^; 記録。

 

   記事作成日 : 2005/06/07

   記事最終更新日 : まだない。

 


 

 

  ノータッチデプロイメント:ローカルテストで例外(SecurityException)発生

  【現象】自分の作ったVS.NETプロジェクトのWebページから、exeを起動して、ノータッチデプロイメントを
      実現しようとしたところ、以下のような例外が出た。

      環境: Windows 2000 Pro, Windows XP Pro ともに。Microsoft.NET Framework1.1

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

      例外 'System.Security.SecurityException' が IEExec.exe で発生しました。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

  【対処】ゾーンセキュリティの信頼を適切に変更する。

     Webページをクリックしexeを起動させるためには、クライアント側のゾーンセキュリティを適切に
      設定しなくてはならない。ローカルテストの場合は、exeはイントラネット内デの処理になるので
      ゾーンセキュリティの"イントラネットの信頼"を完全な信頼に変更する。

      1. スタート → プログラム → 管理ツール → Microsoft.NET Framework 1.1 構成

      2. 開いた画面の左ペインで、マイコンピュータをクリック。

      3. さらに、ランタイムセキュリティと言うディレクトリが表示されるのでクリック。

      4. 右ペインに表示された「ゾーンセキュリティの変更」リンクをクリック。

      5. 適切なラジオボタン選択し、次へ。

      6. 左から2番目、イントラネットのアイコンをクリック。下にアセンブリの信頼レベルが表示。

      7. メモリ一番上の、完全な信頼に変更。次へ → 完了。
      

      上記のような手順で、ゾーンセキュリティの変更ができる。

      ※この処理を行うと実現できると言うだけで、セキュリティの観点を中心に考えるとお薦めでき
       ません。ただ、環境によっては問題ないと判断される場合もあると思いますので、セキュリティ
       の管理者さんと相談したり、環境についてはよく考えてから実行してください。

   記事作成日 : 2005/06/16

   記事最終更新日 : まだない。

 


 

 

  ノータッチデプロイメント:Webサイトのexeをクリックし例外(SecurityException)発生

  【現象】Webサイト上の exe を起動して、ノータッチデプロイメントを実現しようとしたところ、以下の
      ような例外が出た。

      環境: Windows 2000 Pro, Windows XP Pro ともに。Microsoft.NET Framework1.1

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

      例外 'System.Security.SecurityException' が IEExec.exe で発生しました。

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

  【対処】ゾーンセキュリティの信頼を適切に変更する。

      Webサイト上のexeを起動させるためには、クライアント側のゾーンセキュリティを適切に設定
      し
なくてはならない。外部のサーバーにある exe を起動させる場合は、ゾーンセキュリティの
      "インターネットの信頼"を完全な信頼に変更する。

      1. スタート → プログラム → 管理ツール → Microsoft.NET Framework 1.1 構成

      2. 開いた画面の左ペインで、マイコンピュータをクリック。

      3. さらに、ランタイムセキュリティと言うディレクトリが表示されるのでクリック。

      4. 右ペインに表示された「ゾーンセキュリティの変更」リンクをクリック。

      5. 適切なラジオボタン選択し、次へ。

      6. 左から3番目、インたーネットのアイコンをクリック。下にアセンブリの信頼レベルが表示。

      7. メモリ一番上の、完全な信頼に変更。次へ → 完了。
      

      上記のような手順で、ゾーンセキュリティの変更ができる。

      ※この処理を行うと実現できると言うだけで、セキュリティの観点を中心に考えるとお薦めでき
       ません。ただ、環境によっては問題ないと判断される場合もあると思いますので、セキュリティ
       の管理者さんと相談したり、環境についてはよく考えてから実行してください。

   記事作成日 : 2005/06/16

   記事最終更新日 : まだない。

 


 

 

  ノータッチデプロイメント:Permissionエラーで例外(SecurityException)発生

  【現象】Webページをクリックしexeを起動させるためには、クライアント側のゾーンセキュリティを適切に
      設定しなくてはならないが、ゾーンセキュリティが適切に設定されているにも関わらず、以下の
      ようなPermissionに関する例外が出た。
      環境: Windows 2000 Pro, Windows XP Pro ともに。Microsoft.NET Framework1.1

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

    'System.Security.SecurityException'のハンドルされていない例外が IEExec.exe で発生しました。

    追加情報:Request for the permission of type
     System.Security.Permissions.SecurityPermission, mscorlib, Version=1.0.5000.0,
    Culture=neutral, PublicKey Token=b77a5c56193...

  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

  【対処】ASP.NETの再インストールと再設定。

     コマンドプロンプトから、
      C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
       (1.1.4322はインストールされている.NETFrameworkのバージョンによって違いがあるかも)
      にある、aspnet_regiis.exe に、パラメータを付けて実行。

      ------------------------------------------------------------------
       // ASP.NETの再インストール(私のPCでは10秒程度)
       C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 > aspnet_regiis -i

       // ASP.NETの再設定(同じく10秒程度)
       C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 > aspnet_regiis -r
      ------------------------------------------------------------------

      参考はこのあたりです↓
      http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cptools/html/cpgrfaspnetiisregistrationtoolaspnet_regiisexe.asp

      複数バージョンの.NET Framework がインストールされている場合に起こるらしい。
      どうしてこうなったのか、タイミングがイマイチよく分からず・・・ どなたか教えてください・・・

   記事作成日 : 2005/06/16

   記事最終更新日 : まだない。


 

 

  文書は保存されましたが、音声認識データを保存する十分な空き領域がない・・・云々

  Word 2003 の文書を保存しようとすると以下のようなダイアログボックスが出ていたんですが、

  文書は保存されましたが、音声認識データを保存する十分な空き領域がないため、データは失われました。
  録音していないときは、必ずマイクをオフにし、ディスクで利用できる記憶域を確認してください。

  かなり前からOKを押して回避していた面倒くさがりです・・・(-_-; よくもまぁ

  このたび、思い立って検索してみたら、以下のことが分かりましたので、覚え書き。

  原因は、Word では、文書ファイル中に入力した文字の音声入力データや手書き入力データなどの言語デー
  タを保存する事ができ、標準の設定では、言語データを文書中に保存するよう設定されているからなんだ
  そうです。

  回避策は、自動的に言語データを埋め込む設定をオフにするわけですが、これは各文書ごとにオフにした
  り、初期値をオフにしたりといくつか方法があるようです。

  私は初期値をオフにしたかったので、以下の操作をしました。

  1. Word を一旦終了します。
  2. Windows の [スタート] ボタンよりメニューを表示し、[Ctrl] キーを押したままの状態から
    [Microsoft Word] あるいは、[Microsoft Office Word 2003] をクリックし Word を起動します。

  3. 以下のメッセージが表示されますので、[はい] ボタンをクリックします。
    Word によると、CTRL キーが押された状態です。 Word をセーフモードで起動しますか?
  4. Word がセーフモードで起動しますので、[ファイル] メニューから、[開く] をクリックします。
    この時、Word はセーフモードで起動されているため、通常の白紙の文書画面は表示されません。
  5. [ファイルを開く] ダイアログが表示されたら、[ファイルの種類] ボックスから、"文書テンプレート"
     を選択します。
  6. [ファイルの場所] ボックスから、以下のフォルダまで移動し、格納されている Normal.dot
    ファイルを選択します。
    以下のフォルダが表示されない場合は、この資料の [非表示フォルダおよび、ファイルを
    表示する方法] の設定を行ってから、再度操作をお試しください。
   <ドライブ名>\Documents and Settings\<ユーザー名>\Application Data\Microsoft\Templates\
  7. Normal.dot ファイルが選択された状態で、[開く] ボタンをクリックします。
  8. [ツール] メニューの [オプション] をクリックします。
  9. [保存] タブをクリックし表示された画面にて、 [言語データを埋め込む] のチェックボック
    スをオフにし [OK] ボタンをクリックします。
  10. [ファイル] メニューの [上書き保存] をクリックし、 Normal.dot ファイルを保存後、Word を終了します。

  この件に関してのMSのサイト。詳細が載っています。
  http://support.microsoft.com/default.aspx?scid=kb;ja;417842

   記事作成日 : 2005/06/22

   記事最終更新日 : まだない。


 

 

  GDI+ で一般的なエラーが発生しました

  画像ファイルを読み込んでリサイズし、同じファイル名で書き出そうとしたところ、以下のようなエラーが出ました。

  'System.Runtime.InteropServices.ExternalException' のハンドルされていない例外が system.drawing.dll で発生しました

  原因は、読み込み時に使用したImageクラスやBitmapクラスにはロックがかかり書き込みできないことでした。

  対策として、以下のように画像ファイル読み込み時にファイルを直接読むのではなく、FileStreamを読み込む方法に
   することで
エラーを回避しました。

    // イメージの準備

    FileStream fs;
    fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
    Image image = System.Drawing.Image.FromStream(fs);
    fs.Close();

  このTIPSについてのコメントを送る

   記事作成日 : 2005/09/15

   参考資料 : http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15772&forum=7&6

   記事最終更新日 : まだない。

 


 

 

  勉強中

  これから書きます

 

   記事作成日 : 2004/00/00

   記事最終更新日 : まだない。

 


 

  あとがき

   内容的におかしいところ、見づらい個所(色使い)などございましたらご指摘ください。

   同じようにASP.NETを利用されている方からの苦労話も大歓迎です。

 

   
     モンドリィの自習室 - トップへ - 悶絶C#へ