چنانچه در حین مطالعه این مقاله هستید، احتمالا به تازگی از پروژه خود که بر مبنای ASP.NetCore یا ASP.Net ساختهاید، Publish تهیه کردید و در هاست یا سرور آپلود شده است.
اما در هنگام مراجعه به آدرس دامنه با خطایی شبیه مورد زیر مواجه میشوید:
HTTP Error 500.32 - Failed to load .NET Core host
Common solutions to this issue:
The app was likely published for a different bitness than w3wp.exe/iisexpress.exe is running as.
Troubleshooting steps:
Check the system event log for error messages
Enable logging the application process' stdout messages
Attach a debugger to the application process and inspect
For more information visit: https://go.microsoft.com/fwlink/?LinkID=2028526
علت خطا:
همانطور که در متن خطا با عبارت different bitness مشخص شده است، علت از نوع Publish شماست. شما میتوانید خروجی پروژه خود را به صورت 32 یا 64 بیت publish کنید. حال چنانچه این بخش با تنظیمات سرور یا هاست مطابقت نداشته باشد، خطای فوق را مشاهده خواهید کرد.
نحوه رفع خطا:
ابتدا توصیه میشود که همواره خروجی پروژه خود را به صورت 64 بیت Publish کنید و از هاستی استفاده کنید که به صورت پیشفرض 64 بیت باشد. اما در هر حال دو راهکار برای رفع مشکل وجود دارد:
1- از پشتیبان هاست یا سرور خود بپرسید که تنظیمات Application Pool وبسایت شما 32 بیتی تنظیم شده یا 64 بیت؟ هر کدام که بود پروژه خود را با آن مجددا Publish کنید و سپس در هاست آپلود کنید.
2- چنانچه به هر دلیل امکان تبدیل 32 به 64 یا بالعکس را ندارید از پشتیبانی هاست خود بخواهید که تنظیمات Application Pool را بر مبنای پروژه شما به 32 یا 64 بیت تغییر دهد.