ASP.NET Core ile geliştirdiğim bir MVC projesini IHS sunucusuna yükleyip Plesk üzerinden yayınlamaya çalışıyorum. Ancak tarayıcıda aşağıdaki hatayı alıyorum:
HTTP Error 500.30 - ASP.NET Core app failed to start
Proje Bilgileri
.NET Core 8.0 kullanıyorum
MySQL veritabanı kullanıyorum
Entity Framework Core ile migration işlemlerini yaptım
Veritabanı bağlantı cümlesi appsettings.json içinde tanımlı
dotnet publish -c Release ile yayınladım ve çıkan dosyaları httpdocs dizinine yükledim
Plesk'ten ASP.NET Core seceneği yok müşteri hizmetlerine sordum destek var dediler varsa bile ben göremiyorum sürüm de seçemedim sadece asp.net sürümü gözüküyor Plesk üzerinden o da 4.8 sürümü
Projeyi Visual Studio üzerinden Publish etmeye çalışırsanız daha sağlıklı olabilir. Şu seçeneklerle publish edin projenizi.
Dotnet CLI kullanacaksanız şu komutu da deneyebilirsiniz:
Kod:
dotnet publish -c Release --self-contained false
Eğer httpdocs'a atmanıza rağmen hata alıyorsanız, publish ettiğiniz klasörden projenin exe dosyasını çalıştırıp ayağa kaldırın ve deneyin. Eğer bu şekilde de hata alıyorsanız veri tabanı bağlantısında sorun vardır. Büyük ihtimalle connection string doğru okunmuyordur veya hatalı yazılmıştır. Appsettings.json'a yazdıysanız connection string'i Program.cs'ten okumanız gerekir, bunu unutmayın.
VDS'te mi sunucu Hosting'de mi? Hosting'lerde bazen .NET Core uygulamalarini reverse proxy ile calistirmaniz gerekiyor. Cok yasadim bu sorunu zamaninda.
VDS'te mi sunucu Hosting'de mi? Hosting'lerde bazen .NET Core uygulamalarini reverse proxy ile calistirmaniz gerekiyor. Cok yasadim bu sorunu zamaninda.
Dotnet clı kullanacaksanız şu komutu da deneyebilirsiniz:
Kod:
dotnet publish -c Release --self-contained false
Eğer Httpdocs'a atmanıza rağmen hata alıyorsanız, publish ettiğiniz klasörden projenin EXE dosyasını çalıştırıp ayağa kaldırın ve deneyin. Eğer bu şekilde de hata alıyorsanız veri tabanı bağlantısında sorun vardır. Büyük ihtimalle connection string doğru okunmuyordur veya hatalı yazılmıştır. Appsettings. JSON'a yazdıysanız connection String'i program. CS'ten okumanız gerekir, bunu unutmayın.
Hocam hostinge EXE atlımıyor dediğiniz gibi veri tabani bağlantısında sorun olabilir connection string appsetting de ve program CS de okuyorum ben normalde ssms kullanıyorum ama aldığım hostingde MySQL var projeyı MySQL'e çevirdim ama MySQL tecrübem olmadığı için App settings de hata olabilir proje net 8 ile yaptım.
Hocam hostinge EXE atlımıyor dediğiniz gibi veri tabani bağlantısında sorun olabilir connection string appsetting de ve program CS de okuyorum ben normalde ssms kullanıyorum ama aldığım hostingde MySQL var projeyı MySQL'e çevirdim ama MySQL tecrübem olmadığı için App settings de hata olabilir proje net 8 ile yaptım.
MySQL'in adresi, kullanıcı adı ve şifresini silerek ConnectionString'inizi paylaşabilir misiniz? Ayrıca projede Entity Framework Core kullandıysanız MySQL olarak yapılandırdınız değil mi DBContext'i?
"ConnectionStrings": {
"AppConnectionString": "Server=localhost;Database=garageapp3;User Id=;Password=*;"
}
Evet Entity Framework Core kullandım sonradan hostingde MySQL olduğu için Infrastructure katmanına Pomelo.EntityFrameworkCore.MySql yükledim ve gerekli yerleri düzelettim
MySql.EntityFrameworkCore paketi daha kullanışlı diyebilirim.
Onun haricinde hostingdeki MySQL sunucusuna garageapp31 adında diye bir database oluşturup manuel olarak deneyebilirsiniz. Projeyi hosting'e publish etmeden lokalinizdeki projeden uzaktaki veri tabanıyla bağlantı kurup deneyin, çalışıyorsa sonra publish edin.
Hocam database hostingde var buraya atarken salladım ismini lokaldan uzağa bağlantı kurmayı denedim ama yapamadım connection string doğru mu çünkü hosting paketni de SSH yok ve uzaktan nasıl bağlanabilirim?