CLRの扱い

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnnetdev/htm/sidexsidenet.asp

1.0で作成されたプログラムを、1.1しか入っていないマシンに持っていくとどうなるの?という疑問。まじめに.Netやってる人にはあたりまえの話なんだろうけど。

  1. 1.0と1.1は高い互換性があるので、1.0で作成されたコンポーネントを1.1に持っていっても、大体動く(よくわからないけど、2.0でもそうなって欲しいなあ)
  2. 複数のバージョンのCLRがインストールされていたら、
    1. デフォルトでは、プログラムの作成されたバージョンのCLRを使う
    2. なかったら、より新しいバージョンのCLRを使う
    3. それもなかったら、ユーザーにダイアログを出して、.Net Frameworkのインストールを薦める
  3. programname.exe.configというxmlファイルで、実行に利用するCLRのバージョンを指定することができる

という話らしい。先日、NUnitnunit-gui.exe.configを編集したのは、3の対応なのかな。