سؤال

عندما يتم نشر تجميع .NET إلى GAC ويتم تأمين الملف الوجهة، فإن Windows يحمله في أفضل ما يمكنني تخمينه هو نوع من "Purgatory التجميع" - c:\windows\assembly\temp.

استخدام مستكشف العملية يمكن بسهولة رؤيته بسهولة عند البحث عن DLL المشتبه به:

Process Explorer Search
(مصدر: Alexangas.com.)

بمجرد أن تنهي العملية قفل الملف (في هذه الحالة Owstimer.exe) يتم نشره بطريقة سحرية على GAC بشكل صحيح.

أنا فضولي حول ما هو النوافذ تفعل في الواقع هنا. كيف يعرف متى تم إصدار قفل الملف؟ أين يحتفظ بسجل الملفات المقفلة؟ هل تستسلم أبدا؟

هل كانت مفيدة؟

المحلول

Temp و tmp هي مجلدات مؤقتة تستخدم خلال تثبيت الجمعية GAC وإلغاء التثبيت. Tmp يستخدم للتثبيت، و Temp يستخدم لإلغاء التثبيت. مصدر: GAC TEMP و TMP

خدمة تحسين وقت التشغيل (mscorsvw.exeمن المحتمل أن يبحث الملفات مرة واحدة في حين أن تحقق مما إذا كانت مغلقة حتى تتمكن من تثبيت التجميعات المعلقة في انتظار.

قد أكون مخطئا، ولكن كما أعرف، لا يوجد winapi مما أدى إليك أن ملف معين قد تم إغلاقه / غير مؤمن. عليك مراقبةها بنفسك. ولكن يجب أن يكون لدى Windows نفسه قائمة في مكان ما في الذاكرة (على الأقل لديها قائمة بالمقابض المفتوحة)، لذلك يعرف فقط أن الملف مغلق، لأنه يتم إصدار المقبض الذي يمثل الملف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top