حدثت مشكلة أثناء نشر RDLC على الخادم البعيد


عندما أنشر تطبيق الويب الخاص بي على خادم بعيد، يتم فقدان XML الخاص بتقرير RDLC ويتم استبداله بما يلي:

“هذا ملف علامة تم إنشاؤه بواسطة أداة الترجمة المسبقة، ويجب عدم حذفه!”

اعتمادًا على إجراء البناء المحدد، سأقوم إما بنشر الملف بالمحتوى أعلاه أو لن يتم نشر الملف على الإطلاق.

كيف يمكنني نشر RDLC الخاص بي إلى الخادم البعيد دون فقدان XML؟ حتى الآن، الطريقة الوحيدة التي تمكنت من القيام بذلك هي ترحيل الملف يدويًا.

ما حاولت:

لقد حاولت العديد من مجموعات Build Action و Copy to Output Directory دون نجاح.

الحل 1

يبدو أنك تنشر موقعك على أنه مترجم مسبقًا وغير قابل للتحديث:
الترجمة المسبقة لموقع الويب الخاص بك (C#) | مايكروسوفت تعلم[^]

يبدو أن المترجم يعتقد أن ملف RDLC الخاص بك عبارة عن صفحة سيتم تجميعها، لذلك يتم تجميعها في ملف .dll، ويتم استبدال الملف بعلامة.

وفق هذه الإجابة SO[^]، فأنت بحاجة إلى ضبط إجراء الإنشاء على “المحتوى”، وإزالة موفر إنشاء RDLC من ملف web.config:

XML
<buildProviders>
    <!-- Remove this: -->
    <add extension=".rdlc" type="..." />
</buildProviders>

コメント

タイトルとURLをコピーしました