2.2 KiB
2.2 KiB
راهنمای حل مشکل PdfiumViewer.dll
مشکل ۱: DllNotFoundException
خطای System.DllNotFoundException با پیام "Unable to load DLL 'pdfium.dll': The specified module could not be found"
مشکل ۲: BadImageFormatException
خطای System.BadImageFormatException با پیام "An attempt was made to load a program with an incorrect format"
علت مشکلات
- فایل
pdfium.dllدر مسیر صحیح قرار ندارد - تضاد معماری (Architecture) بین برنامه و فایل DLL
راه حلهای کامل
مرحله ۱: حل مشکل DllNotFoundException
# کپی به پوشه Release
Copy-Item "bin\Release\packages\PdfiumViewer.Native.x86_64.no_v8-no_xfa.2018.4.8.256\content\x64\pdfium.dll" "bin\Release\pdfium.dll" -Force
# کپی به پوشه Debug
Copy-Item "bin\Release\packages\PdfiumViewer.Native.x86_64.no_v8-no_xfa.2018.4.8.256\content\x64\pdfium.dll" "bin\Debug\pdfium.dll" -Force
مرحله ۲: حل مشکل BadImageFormatException
فایل HesabixBox.vbproj بروزرسانی شده تا:
PlatformTargetازAnyCPUبهx64تغییر یافته- این تضمین میکند که برنامه با معماری 64-bit کامپایل شود
مرحله ۳: استفاده از اسکریپت خودکار
فایل copy_pdfium_dll.ps1 را اجرا کنید:
powershell -ExecutionPolicy Bypass -File copy_pdfium_dll.ps1
بررسی حل مشکل
پس از اجرای راه حل، موارد زیر باید درست باشند:
- فایل
pdfium.dllدرbin\Release\pdfium.dllموجود باشد - فایل
pdfium.dllدرbin\Debug\pdfium.dllموجود باشد - پروژه با
PlatformTarget=x64کامپایل شود
نکات مهم
- این مشکلات معمولاً بعد از build مجدد پروژه رخ میدهد
- اگر مشکل ادامه داشت، مطمئن شوید که فایلهای کپی شده حذف نشدهاند
- برای پروژههای جدید، از تنظیمات بروزرسانی شده در
HesabixBox.vbprojاستفاده کنید - برنامه حالا فقط روی سیستمهای 64-bit اجرا خواهد شد