الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة مع STRONG NAME , GAC

مغلق
بدأه VIPER_HEAD في 6 أبريل 2005 · 9 رد · 819 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخواني الأعزاء أتمني أن أجد من يستطيع مساعدتي في هذه المشكلة

قمت بعمل SN ASSEMBLY أي ملف من نوع DLL وله STRONG NAME

ثم قمت بأضافة هذا الملف في GAC وعندما أنشأت تطبيق لأقوم بربطه مع هذا DLL الموجود في GAC قمت بعمل ADD REFRANCE و PROJECT

ورأيت فعلا الملف موجود في GAC ولكنني عندما أشرت أليه وجدت أن كلمة OPEN غير فعالة أي أنني لا أستطيع أضافة الملف

فهل يمكن أن يقوم أحد بأفادتي كيف أقوم بربط ملف موجود في GAC مع التطبيق

السؤال الثاني

إذا قمت بوضع الDLL في GAC فهل أترك ملف SNK الخاص به في مكانه الذي أشرت إليه في

ASSEMBLY INFO أم أرفقه معه في GAC "برغم أني حاولت أن أرفقه معه ووجدت أن GAC لن يقبلهADD.jpg

#2

من أجل إضافة Reference إلى المكتبة التي وضعتها في GAC يجب أن تنفذ هذا الأمر من نفس النافذة التي تفتح عند الضغط على Add Reference بدون عمل Browse.

#3

أخي الفاضل إذا كنت تقصد هذه النافذة فقد حاولت فعلا الأضافة منها مباشرة ولكني لم أجد ال

SN ASSEMBLY الخاص بي موجودا بها لذا لم يكن هناك مفر من عمل Browse

ADDREF.jpg

#5

تمت تمت والله تمت :o

شكرا أخي العزيز والله لقد كنت نعم العون :D

جزاك الله كل خير

#6

أخي العزيز إسماعيل كثرت الأسئلة لدي ولم أجد الأجابات أرجو أن أجد ردود لأسئلتي عندك أو عند من يمتلك الرد

السؤال الأول

ماذا سأفعل بالنسبة لSN assembly الموجودة في GAC عندما أقوم بعمل package للبرنامج

فهي بالطبع لن تعمل دون وضعها في المسار الذي أشرت إليه من قبل

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

وطبعا من المستحيل أن أطلب من المستخدم أن يقوم وضعها في المسار بنفسه

فما هو الحل في هذه المشكلة ؟؟!!

السؤال الثاني

قمت بعمل ملف Config مستخدما net configuration. وظيفة الملف هو عمل update للبرنامج

عن طريق أخبار البرامج التي تستعمل SN assembly version 1.1.2 أن تقوم باستعمال SN assembly version 1.1.3 وبالفعل قام البرنامج بتنفيذ المطلوب وأنتقل إلي assembly version 1.1.3

ولكن ليس لأنني قمت بعمل config بل لأنني قمت بوضع الDLL الجديدة في

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

فابلطبع تم عمل REPLACE لل DLL القديمة مما جعل البرنامج ينتقل لأستعمال الDLL الجديدة

وهذا ما جعل عملية CONFIG دون فائدة

فهل هذه نتيجة طبيعية أم أنني أخطئت في عمل CONFIG علما بأنني كررت المحولة مرات عديدة لأتأكد من الخطوات

conf.jpg

#7

بالنسبة للسؤال الأول: إذا كنت تستخدم الـ Setup الذي يأتي مع Visual Studio فهناك إمكانية لنسخ ملف الـ Assembly إلى GAC وذلك أحد الخيارات المتوفرة في عملية الـ Package.

أما السؤال الثاني: فأتمنى أن تشرحه لي أنت لأني لم أستخدم هذه الطريقة أبداً وأعدو من يعرف أكثر منا لشرح الفكرة بالتفصيل وكيف يمكن إخبار البرنامج أن يستخدم ملف Assembly عن طريق ملف الـ config

#8

أخي العزيز شكرا علي الرد السريع وهذا ما توقعته منك دائما

أما بخصوص شرح طريقة عمل ملف config فأعد أنني أشرحها بالكامل فقط سأتأخر يوما واحد لأنني أبحث عن برنامج screen cam لأستخدمه في الشرح بالصوت والصورة

لأنني أريد شرح الموضوع من البداية إلي النهاية أي من

strong name to config file

أما إذا لم أتمكن من العثور علي برنامج screen cam

فسأقوم بشرح الخطوات مستعينا بالصور

34804main_NASA_TV_HOMETN.jpg

#9

لي سؤال أي أختيار سأستخدمه عند عمل setup يسمح لي بأضافة ملف إلي المسار الذي أحدده مثلا

عند أضافة ملف في GAC نستخدم الأختيارGlobal Assembly Cache Folder

ولكن عند أضافة ملف إلي المسار

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

فما هي القائمة التي سنستخدمها

34804main_NASA_TV_HOMETN.jpg

هذا الموضوع مغلق.

مواضيع مشابهة