質問

.NETアセンブリをGACに配備され、宛先ファイルがロックされている場合は、

は、Windowsがそれを保持しているものを私はでき最良の推測である「組立煉獄」のいくつかの並べ替え - 。c:\windows\assembly\temp

疑わしいDLLを検索するとき、これらは容易に見ることができるプロセスエクスプローラを使用する:


<サブ>(ソース: alexangas.comする

とすぐに私は(この場合OWSTIMER.EXEで)ファイルをロックするプロセスを終了すると、それが魔法正しくGACに配備されます。

私は、Windowsは、実際にここでやっているものになど興味があります。ファイルのロックが解除されたとき、それはどのように知っているのですか?それはどこにロックされたファイルの記録を保持していますか?それは今まであきらめていますか?

役に立ちましたか?

解決

Temptmpは、GACのアセンブリのインストールおよびアンインストール時に使用される一時フォルダです。 Tmpは、インストールのために使用され、Tempは、アンインストールのために使用されています。 出典: GACの温度およびTMP

.NETランタイムの最適化サービス(mscorsvw.exe)は、おそらくそれは[国連]保留中のアセンブリをインストールすることができますので、それらが閉じているかどうかを確認するためにたまにはファイルを探査されます。

私は間違っているかもしれませんが、私の知る限りでは、特定のファイルは、/ロック解除閉じられたことを知らせるでしょう何のWinAPIのはありません。あなたは自分でそれらを監視する必要があります。しかし、Windows自体は(それが開いているハンドルのリストを持っている少なくとも)メモリのどこかにそのようなリストを持っている必要がありますので、それだけでファイルを表すハンドルが解放されるため、ファイルが閉じていることを知っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top