قم بتسجيل التجميعات المتعددة في GAC في نظام التشغيل Vista

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

  •  09-06-2019
  •  | 
  •  

سؤال

لدي دليل كامل لملفات dll التي أحتاجها للتسجيل في GAC.أرغب في تجنب تسجيل كل ملف بشكل صريح - ولكن يبدو أن gacutil ليس لديه خيار "تسجيل الدليل".هل لدى أي شخص حل سريع/بسيط؟

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

المحلول

لا تقوم GACUTIL بتسجيل مكتبات الارتباط الحيوي (DLL) - ليس بالمعنى "COM".على عكس COM، يقوم GACUTIL بنسخ الملف إلى دليل غير شفاف ضمن %SYSTEMROOT%\assembly ومن هنا يتم تشغيله.لن يكون من المنطقي أن تطلب من GACUTIL "تسجيل مجلد" (لا يعني ذلك أنه يمكنك القيام بذلك باستخدام RegSvr32 أيضًا).

يمكنك استخدام أمر دفعة FOR مثل:

FOR %a IN (C:\MyFolderWithAssemblies\*.dll) DO GACUTIL /i %a

إذا قمت بوضع ذلك في ملف دفعي، فيجب عليك استبدال %a بـ %%a

نصائح أخرى

إليك البرنامج النصي الذي ستضعه في ملف دفعي لتسجيل كافة الملفات الموجودة في الدليل الحالي باستخدام Gacutil.لا تحتاج إلى وضعه في ملف دفعي (يمكنك فقط نسخه/لصقه في موجه الأوامر) للقيام بذلك.

FOR %1 IN (*) DO Gacutil /i %1

يحرر:باه، آسف لأنني تأخرت.لم أشاهد المشاركة السابقة عندما نشرت مشاركتي.

يستخدم

gacutil /il YourPathTo_A_TextFile.txt

قم بالتبديل، إذا كان لديك ملفات dll في عدة مجلدات مختلفة.وإلا اذهب مع for ... in الحلقة التي ذكرها اليورو.

يجب أن يحتوي الملف النصي على قائمة مسارات التجميع (مسار واحد لكل سطر) التي يجب تثبيتها.يمكن أن تكون المسارات أيضًا مجلدات مختلفة في جميع أنحاء النظام.قم بتشغيل سطر الأوامر كمسؤول!

فيما يلي مثال على ملف YourPathTo_A_TextFile.txt:

C: ... microsoft.practices.enterpriselibrary.common.dll C: ... Microsoft.Practices.EnterPriselibrary.Configuration.design.hostadapter.dll C: ... HostAdapterv5.dll C: ... microsoft.practices.enterpriselibrary.configuration.designtime.dll C: ... .dll

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