أين يتم تثبيت التجميعات في GAC المخزنة جسديًا؟

StackOverflow https://stackoverflow.com/questions/815362

  •  03-07-2019
  •  | 
  •  

سؤال

أريد تصدير التجميعات المدمجة في مشروعي. ولكن أين يتم تخزينها جسديًا؟

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

المحلول

لقد وجدت هذا المنشور بالفعل ، بعد أن كتبت سؤالي. من الجيد حقًا شرحًا:

ستتمكن من رؤيتهم إذا انتقلت إلى

c:\windows\assembly

مع Explorer ، حيث سترى قائمة تجميعات منسقة بشكل جيد.
يوضح امتداد shell المسؤول عن هذا العرض ليس فقط التجميعات في GAC ، ولكن أيضًا الإصدارات الأصلية من التجميعات المبللة مسبقًا باستخدام ngen.exe.
لكن الملفات لم يتم تخزينها فعليًا هنا - تمديد Shell ببساطة يقيس موقعها الحقيقي. يمكنك معرفة أين يتم تخزين الملفات حقًا عن طريق التنقل إلى نفس الدليل عبر موجه الأوامر.
يوجد في هذا الموقع عدد من الدلالات الفرعية ، بما في ذلك واحد اسمه GAC. دفن هنا تحت عدة طبقات من رموز التجزئة وأسماء التجميع توجد التجميعات الفعلية ، إلى جانب ملف .ini قديم يحتوي على الاسم القوي من بين أشياء أخرى. يجدر الاستكشاف في هذه المنطقة المجهولة فقط لفهم ما يجري تحت الأغطية ، على الرغم من أن حذرة من إجراء تغييرات لأن GAC تهدف إلى أن تكون غير شفافة.

نصائح أخرى

يتم تخزينها في ٪ systemroot ٪ في مجلد اسمه المجسم

المتغير ٪ Systemroot ٪ هو متغير بيئة خاص على مستوى النظام موجود على Microsoft Windows NT ومشتقاته. قيمتها هي موقع مجلد النظام ، بما في ذلك محرك الأقراص والمسار.

محرك الأقراص هو نفسه ٪ SystemDrive ٪ ويعتمد المسار الافتراضي على تثبيت نظيف على إصدار نظام التشغيل. بشكل افتراضي ، في تثبيت نظيف:

* Windows NT 5.1 (Windows XP) and newer versions use \WINDOWS
* Windows NT 5.0 (Windows 2000), Windows NT 4.0 and Windows NT 3.1 use \WINNT
* Windows NT 3.5x uses \WINNT35

(من ويكيبيديا)

الموقع المادي لـ GAC هو دليل التجميع تحت ٪ Windir ٪ ، Fe

c:\windows\assembly

يمكنك نسخ التجميعات إلى GAC مع Explorer ، أو برنامج Gacutil.

لا ، يتم تخزين التجميعات الجسدية وليس في "C: Windows Assembly". يتم تخزين الإشارات فقط إلى التجمعات هناك. على سبيل المثال ، يتم تخزين التجميع "System.windows.forms.dll" (وكذلك الجزء الأكبر من مجموعات إطار العمل .NET) جسديًا في "C: windows winsxs" في العديد من الإصدارات ، تم تحسينها للعديد من المنصات (فقط انتقل إلى " C: windows winsxs "in explorer and type" system.windows.forms.dll "في مربع البحث). على سبيل المثال ، يمكنك إنشاء مجموعة مسموسة بقوة ، وتسجيلها على GAC ، ولكن موقعه الفعلي هو المكان الذي تضع فيه ملف التجميع. (على سبيل المثال "C: user ٪ اسم المستخدم ٪ documents Visual Studio 2008 Projects yourassemblyprojectname yourassemblyprojectname bin debug" - vs projects directory). وأكثر من ذلك ، في GAC لا يتم تخزين الإشارات إلا إلى التجميعات ، لذلك إذا قمت بإعادة بناء التجميع الخاص بك ، فسيستخدم التجميعات التي تستخدمها تجميعك ، من خلال الرجوع إليها من GAC ، ستستخدم أيضًا عملية إعادة البناء في التجميع.

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