رفع مشکل Trusted Assembly در Reporing Services

یک مشکلی که در Report های کلاینتی Reporting Services وجود دارد آن است که اگر شما بخواهید از یک 3rd party dll در گزارش استفاده کنید  ( مثلا برای تبدیل تاریخ یا غیره ) به یک پیغام خطای The report references the code Module ‘Hajloo.Localization, Version=1.0.0.0, Culture=neutral, Publickey Token=b77a5XXXXXXXX’, which is not a trusted assembly برخورد می‌کنید. در زیر نحوه برطرف کردن این خطا را آورده‌ام.

—————————————————————-

این مطلب زیر نظر مجوز GFDL منتشر می‌شود. و کلیه حقوق آن برای همگان آزاد است، بدین شرط که به کلیه شرایط موجود در مجوز GFDL ( که یک نسخه از متن انگلیسی مجوز GFDL در این محل و یک ترجمه غیر رسمی (فارسی) از متن مجوز GFDL که در مرداد ۱۳۸۳ توسط کاوه رنجبر تهیه شده است در این محل ) قرار دارد پایبند باشد.

GNU Logo

GNU Logo

عنوان مطلب : رفع مشکل Trusted Assembly در Reporing Services

بخش ثانی : ندارد

تاریخ انتشار : 20/04/1388 مطابق با 11/07/2009

شماره نسخه : نسخه یک

نویسنده : ناصر حاجلو

ای-میل نویسنده : n.hajloo@gmail.com

Copyright (c) 2009 Nasser Hajloo.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation;

with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

—————————————————————-

این خطا به آن علت است که چون گزارش‌های کلاینتی باید بصورت Open Format ایجاد شوند ( یعنی به صورتی که بدون نیاز به هیچ چیز خارجی و یا بدون به خطر انداختن سیستم کلاینت اجر شود ) بنابراین تولید کننده گزارش باید dll ی را که از آن ر تولی گزارش استفاده کرده، تضمین کند و عواقب بعدی آن را ( که ممکن است به در معرض خطر قرار گرفتن سیستم کلاینت شود را ) بپذیرد.

به همین دلیل پیغام زیر ( که در بالا هم آوردم ) نمایش داده می‌شود.

The report references the code Module ‘Hajloo.Localization, Version=1.0.0.0, Culture=neutral, Publickey Token=b77a5XXXXXXXX’, which is not a trusted assembly

برای رفع این مشکل تنها کاری که باید اجام دهید آن است که بروید و در صفحه‌ای که Report Viewer را برای نمایش گزارش قراردهاید قطعه کد زیر را جهت تضمینdll خودتان بنویسید.

this.reportViewer1.LocalReport.AddTrustedCodeModuleInCurrentAppDomain(“Hajloo.Localization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b77a5XXXXXXXX”);

نهایتا با قراردادن قطعه کد بالا مشکل برطرف می‌شود.

خود من جواب این سوال را در وبلاگ محمد شرف پیدا کردم که این بخش که من اشاره کردم صرفا قسمت کوتاهی از نوشته محمد است. توصیه می کنم مطلب کامل او را مطالعه نمایید.

همچنین یک مطلب مرتبط دیگر هم اینجا هست.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: