تسجيل التجمعات المدارة مع COM دون استخدام GAC
-
18-09-2019 - |
سؤال
أتساءل عما إذا كان من الممكن تسجيل التجميعات مع COM دون الحاجة إلى تسجيلها مع GAC. نحن بحاجة إلى نشر بعض مكتبات .NET التي تتعرض ل ASP الكلاسيكية باستخدام CCW. لكن عمليات النشر هي كابوس.
المحلول
ياب، واستخدام regasm.exe
مع /codebase
مفتاح لذلك. عند استخدامها regasm.exe
بدون /codebase
يكتب فقط اسم ملف assmebly إلى السجل ولذا فإن وقت تشغيل .NET لا يمكن أن يجدها ما لم تكن الجمعية في GAC. مع /codebase
سوف يكتب المسار الكامل و. ستكون سعداء للعثور على التجمع عند مكالمات المستهلك CoCreateInstance()
.
نصائح أخرى
نعم يمكنك استخدام RegAms في تجميع دون أنه في GAC. على سبيل المثال، لدي مواقع ASP و ASP.NET المختلطة مع مجموعات .NET في مجلد BIN. يتعرض البعض ل COM ويتم تسجيله في الموقع من مجلد BIN.
بالطبع هذه التجميعات فريدة من نوعها للتطبيق ولا تقاسمها من قبل تطبيقات أخرى. لا يعني أنه غير ممكن أيضا، فمن المحتمل أن تختار موقع محايد لنسخ مثل هذه DLLs إلى.