2012年4月29日日曜日

64bit OS でのエラー

リリースまであと少しという時に、Visual Studio 2010 C# で作成したアプリケーションでエラーが発生した。エラーがおきるのは64bitのOSのみ。
おかしいな。気をつけたはずなのに。


Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。

************** 例外テキスト **************
System.BadImageFormatException: ファイルまたはアセンブリ '*******, Version=***, Culture=neutral, PublicKeyToken=*****'、またはその依存関係の 1 つが読み込めませんでした。間違ったフォーマットのプログラムを読み込もうとしました。


該当のアプリケーションは32bitでも64bitでも同一モジュールで動作させる。
なのでプラットフォーム ターゲットを、たぶんこれで正しいだろうと AnyCPU にした。(テストは一通り済ませた後になんとなく見直した後に AnyCPU になってないのが気になって変更した)
起動し最初の画面が表示されることを確認。
その後、たまたま64bitのOSで動かしたところエラーが発生した。


原因はというと、エラーが発生した画面で使用しているアセンブリが、プラットフォーム(x86, x64)に依存していたため。
これを組み込んだならば32bit・64bit両方に対応させるにはプラットフォーム ターゲットをx86にすべきだった。

2012年4月18日水曜日

保険数理人という資格

アクチュアリー(保険数理人)とは、保険の立ち上げに必要となる計算を行う人のこと。この資格を持った人は日本には1000人ちょいぐらいしかいない。
司法試験よりも狭き門だ。民間資格なのに。

ペット保険とかでも、こういった人が関わっているのだろうか。


2012年4月16日月曜日

WiFi接続の不調

自宅の無線LANが不調だ。
ここ最近、何となく近所にアクセスポイントが増えているようで、それが原因かと思っていた。
そこで、自動のチャンネル設定をやめて空いていそうなチャンネルにしてみたりもしたが解決しない。
段々、不便この上なくなってきたので、本格的に調べてみることにする。

わかるWi‐Fi (I・O BOOKS)を読んだところ、単に空いているチャンネルを指定しても無駄なようだ。


  • できるだけ干渉しているユーザー数の少ないチャンネルを選択する。
  • 中途半端にずらして干渉するくらいなら、一致したチャンネルで完全に干渉させた方が良い結果となる可能性が高い。

1チャンネルは3つの領域にまたがっているので、空いているからといって隣り合ったチャンネルを選択しても無駄らしい。
ならば、空いてはいないが(たぶん)遠くの電波の弱いアクセスポイントと一致させてみる。
こうやってチャンネルを設定したところ、完全ではないが、以前よりは大分改善した。

あとわずかではあるらしいが、bluetoothの機器も多少干渉するらしい。
デスクトップだけ不調なときが多いのはこんなことも影響しているかもしれない。




わかるWi‐Fi (I・O BOOKS)
だいぶ参考になった。