ما المسار الذي يجب أن أقوم بتمريره كمعلمة AssemblyPath إلى وظيفة Publish.GacRemove؟
سؤال
أريد استخدام نشر.GacRemove وظيفة لإزالة تجميع من GAC.ومع ذلك، لا أفهم المسار الذي يجب أن أسلكه كحجة.
هل يجب أن يكون مسارًا إلى ملف DLL الأصلي (ماذا لو قمت بإزالته بعد تثبيته في GAC؟) أو المسار إلى التجميع في GAC؟
تحديث:
لقد استخدمت أخيرا أغلفة API هذه.
المحلول
أنا أستخدم GacInstall
لنشر تجميعاتي، ولكن بمجرد تثبيتها في gac، أقوم أحيانًا بحذف نسختي "المؤقتة" من التجميعات.
وبعد ذلك، إذا أردت إلغاء تثبيت التجميعات من gac، فليس لدي الملفات في المسار الأصلي.وهذا يسبب مشكلة لأنني لا أستطيع الحصول على GacRemove
طريقة لإلغاء تثبيت التجميعات ما لم أحتفظ بالملفات الأصلية.
خاتمة:نعم، أنت بحاجة إلى تحديد المسار إلى ملف DLL الأصلي.(وحاول عدم نقله/حذفه لاحقًا).إذا قمت بحذفه، فحاول نسخ الملف من GAC إلى المسار الأصلي لديك وستتمكن من إلغاء تثبيته باستخدام GacRemove
.
نصائح أخرى
لست متأكدًا تمامًا من ذلك ولكني أعتقد أن GacRemove يجب أن يفعل نفس الشيء مثل gacutil /u.لذلك، ينبغي أن يكون مسار DLL الخاص بك.ومع ذلك، لا يجب أن يكون نفس ملف DLL.يجب أن تكون النسخة الأصلية كافية لأن ما يهم هو المعرف الفريد لملف DLL.