این مقاله به بررسی مشکلات واقعی که هنگام انتقال Blazor WebAssembly به محیط تولید با آن مواجه میشوید، میپردازد. با فعال کردن PublishTrimmed=true در بیلد Release، رفتارهای غیرمنتظرهای مانند از کار افتادن ویژگیها، عدم کار SDKهای خارجی، ناپدید شدن فراخوانیهای JS interop، توقف Reflection و خرابی نقشه ها، نمودارها و رابطهای کاربری شخص ثالث بدون خطا رخ میدهد. این مقاله با استفاده از Google Maps (Advanced Markers + MapId/StyleId + lazy load) به عنوان یک مطالعه موردی، به بررسی عمیق و فنی این مشکلات میپردازد. راه حل اصلی، علامتگذاری تمام متدهای قابل فراخوانی JS با استفاده از [JSInvokable] است. همچنین، برای اتکا به Reflection/dynamic serializers، استفاده از [DynamicDependency] توصیه میشود.
مشاهده مطلب اصلی