- PR -

JITコンパイラの動作について

投稿者投稿内容
rvmx
大ベテラン
会議室デビュー日: 2002/09/26
投稿数: 184
お住まい・勤務地: 愛媛県
投稿日時: 2003-01-12 21:33
良くは分かりませんが
XP以降.NET Server等にはバックアップ関連のボリュウム シャドウ コピーの
機能が付いているみたいです。
XPであればコントロールツールの管理ツールでサービスで動作しているかが確認できます。volume shadow copy(vssvc.exe)
ただし、動作している時何時バツクアツプ取るかはまだ分かりません。
シャドウコピー(バックアップ)が存在しないとSystem.Reflection.Assembly.GetExecutingAssembly().Location
(配置アッセンブリexe)を使用と成っていますが、もしバツアップが有るときは何時も
そちらを使うと言う事ですかね?、これだとexeフアイルを入れ替えてもバックアップが常に使われる為、動作は以前のアッセンブリで動作し更新できない事と成りますが。
可能性の一つとして、かなり強引に推測していますが、間違っていますよね?。
二天
ベテラン
会議室デビュー日: 2001/09/26
投稿数: 60
投稿日時: 2003-01-12 23:49
シャドウコピーについてはあまり資料がないので良くわかりませんが、通常のWinFormアプリなどはシャドウコピーされないと思いますよ。通常使用でシャドウコピーする理由があるとは思えませんし。

心配なのであれば、System.Windows.Forms.Application.StartupPathなどで起動された場所を取得してみるのも良いかも知れません。

何となく、exeファイル自体が上書きできていないか、ビルド時にファイルが更新されていないだけのような気がしています。プロジェクトのdebugディレクトリのexeファイルを上書きしたとかもあり得ますよね。
rvmx
大ベテラン
会議室デビュー日: 2002/09/26
投稿数: 184
お住まい・勤務地: 愛媛県
投稿日時: 2003-01-13 07:42
ニ天さん、色々有難う御座いました。
結局、立ち上がり時に
起動アッセンブリのバージョンや作成日付及び、
System.Windows.Forms.Application.StartupPathと
System.Reflection.Assembly.GetExecutingAssembly().Locationを
比較し、違った時はその情報をログに残す様にしました。
これで様子をみて見ます。

スキルアップ/キャリアアップ(JOB@IT)