ماذا يحدث في "التجميع المطهر"؟
-
19-09-2019 - |
سؤال
عندما يتم نشر تجميع .NET إلى GAC ويتم تأمين الملف الوجهة، فإن Windows يحمله في أفضل ما يمكنني تخمينه هو نوع من "Purgatory التجميع" - c:\windows\assembly\temp
.
استخدام مستكشف العملية يمكن بسهولة رؤيته بسهولة عند البحث عن DLL المشتبه به:
(مصدر: Alexangas.com.)
بمجرد أن تنهي العملية قفل الملف (في هذه الحالة Owstimer.exe) يتم نشره بطريقة سحرية على GAC بشكل صحيح.
أنا فضولي حول ما هو النوافذ تفعل في الواقع هنا. كيف يعرف متى تم إصدار قفل الملف؟ أين يحتفظ بسجل الملفات المقفلة؟ هل تستسلم أبدا؟
المحلول
Temp
و tmp
هي مجلدات مؤقتة تستخدم خلال تثبيت الجمعية GAC وإلغاء التثبيت. Tmp
يستخدم للتثبيت، و Temp
يستخدم لإلغاء التثبيت. مصدر: GAC TEMP و TMP
خدمة تحسين وقت التشغيل (mscorsvw.exe
من المحتمل أن يبحث الملفات مرة واحدة في حين أن تحقق مما إذا كانت مغلقة حتى تتمكن من تثبيت التجميعات المعلقة في انتظار.
قد أكون مخطئا، ولكن كما أعرف، لا يوجد winapi مما أدى إليك أن ملف معين قد تم إغلاقه / غير مؤمن. عليك مراقبةها بنفسك. ولكن يجب أن يكون لدى Windows نفسه قائمة في مكان ما في الذاكرة (على الأقل لديها قائمة بالمقابض المفتوحة)، لذلك يعرف فقط أن الملف مغلق، لأنه يتم إصدار المقبض الذي يمثل الملف.