كيفية نشر الميزة بنطاق= مشهد أو نطاق= Web for Web Parts & Event Receiver على التوالي؟

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/52085

سؤال

لدي مشروع واحد فقط من Visual Studio.

يحتوي على 1 EventReceiver (for documentlibrary) و webparts متعددة. لقد حددت النطاق= موقع ملف Project Project.

لقد قمت بإنشاء وظيفة مخصصة واحدة في EventReceiver، والتي تستدعي كل حدث، إما إضافة / تحديث / حذف في المستندات الخاصة بي.

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

ولكن عندما أقوم بتصحيح المشروع من خلال F5، فأنا أتلقى خطأ في EventReceiver، لأنها تسمى عدة مرات تعني كل حدث.

إذا قمت بنشر نطاق EventReceiver's= Web، فيمكن أن يحل المشكلة، لكنني بحاجة إلى نشر WebParts أيضا مع نطاق= Site.

فكيف حل هذه المشكلة بنشر واحد؟

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

المحلول

يمكنك إضافة ميزة ثانية للمشروع.في هذه الحالة، سيكون لديك حزمة حلبة واحدة مع ميزتين (الأول هي ميزة Site Scoped، ثانية هي ميزة مبكر على الويب).في ميزة Site Scoped، يمكنك تضمين أجزاء الويب الخاصة بك.للقيام بذلك، يجب النقر فوق مجلد "ميزات" وحدد إضافة خيار "إضافة ميزة جديدة".

نصائح أخرى

أظن أنك ملزمة جهاز استقبال الحدث إلى قالب مكتبة المستندات، والتي قد تستخدمها القائمة المخصصة الخاصة بك أيضا، وبالتالي فإن جهاز استقبال الحدث مرتبط بكل حالات القائمة.

إذا كنت بحاجة إلى ربط جهاز استقبال الحدث إلى قائمة محددة، فأنا أفعل ذلك في التعليمات البرمجية، عادة من خلال تنشيط الميزات وأكبر مثل هذا: giveacodicetagpre.

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