misc.log

日常茶飯事とお仕事と

LargeAddressAwareをプログラムから設定してみる

http://d.hatena.ne.jp/frontline/20081008/p3 に書いていた、EditBin.exeを用いたバイナリイメージヘッダへの/LargeAddressAware設定、どうもコレをプログラム内部からVB.NETとかでも設定できそうなので、試してみることにした。参考にしたページは以下の通り。

VCLinkerTool.LargeAddressAware プロパティ
http://msdn.microsoft.com/ja-jp/library/microsoft.visualstudio.vcprojectengine.vclinkertool.largeaddressaware(VS.80).aspx
DTE オブジェクトの参照
http://msdn.microsoft.com/ja-jp/library/aa291913(VS.71).aspx

処理の中で、Microsoft.VisualStudio名前空間にあるライブラリを利用する必要があり、いくつか普段使わないDLLを参照する必要がある。その流れで読む必要が出てきたのが後者のURL。先日作った大量配列確保プログラムにラジオボタンを追加し、動的に設定のON/OFFを行えるようにしてみてこのあと実験する。

...うまくいかない。DTEオブジェクトなるものとかの使い方や意義についてきっちり勉強しないとダメっぽいので断念しておく。

.NET Framework 2.0 SP1で修正される問題点

.NET Framework 2.0 SP1で修正される問題の一覧がどうにも見つからなかったのだけど、海外のブログ経由で見つかった。なんでこんなに埋没してんの??

.NET Framework 2.0 Service Pack 1 で修正される問題
http://support.microsoft.com/?id=945757

なお、以下の点に注意。

  • .NET Framework 3.5(SP無し)には、2.0のSP1と3.0のSP1が含まれます。3.X系は2.0への追加であり、1.1と2.0のような完全相互独立の関係じゃないので、3.5を入れた時点でSP1が適用されてしまうことを知らないと、その辺を気にする人や企業は面倒なことになるかと。
  • .NET Framework 3.5 SP1を適用すると、.NET Framework 2.0のSP2が自動適用されます。2.0 SP2だけの単独適用ってのは出来ないのかな(よくわからん)。

なお、SP1が入っているかどうか、といったことをきちんと見分ける方法はちょっと判りませんでした。念のため仮想PCに入れてみたりはしたのですが、やはり「プログラムの追加と削除」に出てくる名称に「SP1」って書いてあるかどうか、というのを見るのが確実っぽい。


ちなみに参考にしたブログは以下の通り。

Microsoft .NET Framework 2.0 Service Pack 1, and How to Detect It
http://blogs.msdn.com/heaths/archive/2007/11/26/microsoft-net-framework-2-0-service-pack-1-and-how-to-detect-it.aspx
Problems that are fixed in the .NET Framework 2.0 Service Pack 1
http://readcommit.blogspot.com/2007/12/problems-that-are-fixed-in-net.html