Saya baru saja memperbarui server saya (Windows 2012R2) ke .Net Core 1.0 RTM
paket Hosting Windows dari sebelumnya .Net Core 1.0 RC2
. Aplikasi saya berfungsi di PC saya tanpa masalah apa pun tetapi server terus ditampilkan:
HTTP Error 502.5 - Process Failure
Common causes of this issue:
The application process failed to start
The application process started but then stopped
The application process started but failed to listen on the configured port
Ini sebelumnya bekerja dengan versi RC2. Tidak tahu apa yang bisa salah.
Ini semua penampil acara mengatakan:
Failed to start process with the commandline 'dotnet .\MyWebApp.dll'. Error code = '0x80004005'.
bagian terburuknya adalah log aplikasi kosong! Maksud saya file stdout_xxxxxxxxx.log itu benar-benar kosong dan semuanya berukuran 0 byte.
Apa yang harus saya lakukan?? Bagaimana saya bisa mengetahui penyebab kesalahan saat tidak masuk ??
c#
iis
asp.net-core
windows2012
Vahid Amiri
sumber
sumber
Failed to start process with commandline 'dotnet ./bin/Debug/netcoreapp1.0/WebApplication2.dll', Error Code = '0x80004005'.
- baris perintah dan kode kesalahan yang sama yang Anda laporkan. Kedua, hanya karena berjalan di komputer Anda, tetapi tidak di mesin jarak jauh, menunjukkan bahwa ada sesuatu yang berbeda di server. Jika Anda dapat memperluas tentang bagaimana aplikasi diterapkan ke server, itu akan membantu.Jawaban:
Saya bisa memperbaikinya dengan berlari
pada prompt perintah, yang memberi saya kesalahan yang jauh lebih berarti:
Seperti yang Anda lihat, saya memasang versi NET Core yang salah di server saya. Saya dapat menjalankan aplikasi saya setelah mencopot pemasangan versi sebelumnya 1.0.0 dan memasang versi 1.0.1 yang benar.
sumber
Saya memiliki masalah yang sama, dalam kasus saya itu adalah izin yang tidak mencukupi dari identitas pengguna Pool Aplikasi saya, pada halaman Publishing to IIS dari asp.net doc, ada beberapa alasan yang tercantum untuk kesalahan ini:
buildOptions
dariproject.json
yang konflik dengan RID penerbitan. Misalnya, jangan tentukan platform x86 dan publikasikan dengan RID win81-x64 (dotnet publish -c Release -r win81-x64
). Proyek akan menerbitkan tanpa peringatan atau kesalahan tetapi gagal dengan pengecualian yang dicatat di atas di server.processPath
atribut pada<aspNetCore>
elemen di web.config untuk memastikan bahwa itudotnet
untuk aplikasi portabel atau. \ My_application.exe untuk aplikasi mandiri.dotnet.exe
mungkin tidak dapat diakses melalui pengaturan PATH. Konfirmasikan bahwaC:\Program Files\dotnet\
ada di pengaturan PATH Sistem.dotnet.exe
mungkin tidak dapat diakses untuk identitas pengguna Application Pool. Konfirmasikan bahwa identitas pengguna AppPool memiliki akses keC:\Program Files\dotnet
direktori..UseIISIntegration()
metode aplikasiWebHostBuilder()
..UseUrls()
metode ekstensi saat menghosting sendiri dengan Kestrel, konfirmasikan bahwa itu diposisikan sebelum.UseIISIntegration()
metode ekstensi aktifWebHostBuilder()
..UseIISIntegration()
harus menyetelUrl
untuk reverse-proxy saat menjalankan Kestrel di belakang IIS dan tidak memiliki nilai yang diganti oleh.UseUrls()
.Dalam kasus saya, itu adalah alasan keempat, saya mengubahnya dengan mengklik kanan kumpulan aplikasi saya, dan dalam pengaturan lanjutan di bawah Model Proses, saya menetapkan Identitas ke pengguna dengan izin yang cukup:
sumber
Failed to start process with commandline '"dotnet" .\PROJECT.dll', ErrorCode = '0x80070002'
.dotnet
berada di jalur saya, tetapi memerlukan restart server agar dapat dikenali.Saya mendapatkan ini bekerja dengan hard reset IIS (saya baru saja menginstal paket hosting).
Ternyata hanya dengan menekan 'Restart' di IIS Manager saja tidak cukup. Saya hanya perlu membuka prompt perintah dan mengetik 'iisreset'
sumber
LocalSystem
Jadi saya mendapat server baru, kali ini Windows 2008R2 dan aplikasi saya berfungsi dengan baik.
Saya tidak bisa mengatakan dengan pasti apa masalahnya dengan server lama tetapi saya punya satu ide.
Jadi karena saya sebelumnya mengompilasi aplikasi tanpa memikirkan platform apa pun, itu memberi saya
dll
versi yang hanya berfungsi jika host target telah.Net Core Windows Hosting
menginstal paket. Dalam kasus saya itu dipasang dan itu baik-baik saja .Setelah aplikasi tidak berfungsi, saya memutuskan untuk mengkompilasinya sebagai aplikasi konsol dengan
win7-x64
sebagai runtime. Kali ini saat saya menjalankanexe
aplikasi saya di server, itu macet dengan kesalahan tentang dll yang hilang:DLL itu berasal dari Universal C Runtime yang disertakan dalam Visual C ++ Redistributable untuk Visual Studio 2015 .
Saya mencoba menginstal paket itu (x64 & x86) tetapi gagal setiap kali (tidak tahu mengapa) di Windows Server 2012 R2.
Tetapi ketika saya mencoba menginstalnya di server baru, Windows Server 2008 R2, mereka berhasil diinstal. Itu mungkin alasan di baliknya, tetapi masih belum bisa memastikan.
sumber
Saya mengalami masalah yang sama saat menerbitkan aplikasi web. Jika ada yang masih memiliki masalah ini, perbaiki dengan mengubah {AppName} .runtimeconfig.json
Ubah versi dari "versi": "1.1.2" menjadi "versi": "1.1.1" dan semuanya berfungsi dengan baik
sumber
Saya memiliki masalah yang sama.
Untuk mengetahui sumber pastinya, saya mengaktifkan login di file web.config:
dan membuat subfolder log di folder root MyWebService.
Setelah memulai ulang IIS dan mencoba menjalankan API, saya mendapat kesalahan dan tidak memiliki Core Runtime yang tepat. Setelah mengunduh instalasi DotNetCore.1.0.5_1.1.2-WindowsHosting kesalahannya hilang.
sumber
Memiliki masalah yang sama dan semua solusi tidak berfungsi. Menemukan permata ini dan berpikir saya akan meneruskannya jika itu membantu orang lain. Instal di Server 2012 R2 mendapatkan kesalahan yang hilang DLL, coba instal ulang VS C ++ 2015 dan dapatkan kesalahan. Perbaiki adalah dengan melakukan hal berikut:
Sepertinya file
C:\ProgramData\Package Cache\...\packages\Patch\x64\Windows8.1-KB2999226-x64.msu
mengalami masalah saat diinstal. Buka command prompt admin lakukan:CATATAN: ganti "..." dengan nama folder yang benar. Setelah ini instal ulang paket VS C ++ 2015.
sumber
Saya memiliki masalah yang sama, dan mengutip Sherlock Holmes: " ketika Anda telah menghilangkan yang tidak mungkin, apa pun yang tersisa, betapapun mustahilnya, pasti kebenaran? "
Saya memeriksa apakah .NET framework yang saya targetkan telah diinstal di server, dan ternyata tidak. Saya menginstal 4.6.2 .NET Framework dan berhasil.
sumber
Saya mendapatkan masalah ini di server produksi saya setelah proyek VS saya secara otomatis ditingkatkan ke .NET Core 1.1.2.
Saya hanya menginstal runtime inti 1.1.2 .net dari sini di server produksi saya: https://www.microsoft.com/net/download/core#/runtime
sumber
SOLVED Saya baru saja mengalami masalah yang sama hari ini saat menerapkan ke AZURE . Kemudian saya mencoba hal yang sama untuk IIS lokal, mendapat masalah yang sama. Karena saya baru mengenal .net CORE, berjuang beberapa jam sebelum saya benar-benar menyelesaikannya.
Dalam solusi kami, setelah saya mempublikasikan ke IIS, saya mengamati file web.confile saya, khususnya di bawah baris
<aspNetCore processPath="bin\IISSupport\VSIISExeLauncher.exe" arguments="-argFile IISExeLauncherArgs.txt" forwardWindowsAuthToken="false" stdoutLogEnabled="false" />
Dalam folder penyebaran kami, web.config yang dihasilkan terlihat seperti:
<aspNetCore processPath="dotnet" arguments=".\Yodlee.dll -argFile IISExeLauncherArgs.txt" forwardWindowsAuthToken="false" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
Sekarang HARAP coba ubah konfigurasi di atas dalam solusi visual studio menjadi
<aspNetCore processPath="bin\IISSupport\VSIISExeLauncher.exe" forwardWindowsAuthToken="false" stdoutLogEnabled="false" />
Di folder penerapan baru kami, web.config yang dihasilkan terlihat seperti:
<aspNetCore processPath="dotnet" arguments=".\Yodlee.dll" forwardWindowsAuthToken="false" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
Dan ini MEMECAHKAN masalah saya, Semoga membantu.
sumber
processPath="dotnet"
menjadiprocessPath="C:\Program Files\dotnet\dotnet.exe"
. lalu berhasil.Saya mengalami masalah yang sama ketika saya memperbarui mesin dev saya ke Core 1.0.1, tetapi lupa memperbarui server.
sumber
dotnet .\YOURPROJDLL.dll
Saya mendapatkan Kesalahan HTTP 502.5 ketika mencoba menerbitkan API .NET Core 2.0 saya ke AWS EB, dan menyelesaikannya dengan menambahkan kode berikut ke .csproj:
sumber
Saya memiliki masalah yang sama. Saya mengubah identitas kumpulan aplikasi ke akun layanan jaringan. Kemudian saya secara eksplisit mengatur path ke dotnet.exe di web.config untuk aplikasi untuk bekerja dengan baik sebagai @danielyewright mengatakan dalam bukunya github komentar. Ini berfungsi setelah mengatur jalur.
Terima kasih
sumber
Berbagi itu dalam kasus saya, kesalahan ini karena saya lupa memperbarui project.json dengan:
sumber
Saya mengalami kesalahan yang sama, dengan masalah yang sama seperti yang dijelaskan oleh VSG24 dalam Jawaban yang diusulkan - pesan kesalahan yang tidak menyenangkan saat mengetik 'dotnet' ke CMD:
Saya menyelesaikan ini dengan menginstal secara manual 2 pembaruan berikut di Windows Server 2012 R2 (dan prasyarat dan semua pembaruan lain yang ditautkan - baca petunjuk penginstalan dengan cermat di situs Microsoft):
Semoga ini bisa membantu seseorang.
sumber
Saya menghadapi masalah yang sama ketika saya mencoba menerbitkan versi Debug dari aplikasi web saya. Kumpulan file ini tidak berisi file
web.config
dengan nilai atribut yang sesuaiprocessPath
.Saya mengambil file ini dari versi Rilis, nilai ditetapkan ke jalur ke file exe saya.
sumber
Dalam kasus saya, ada masalah dengan versi Net Core yang diinstal di server. Saya baru saja menginstal versi yang sama seperti pada mesin pengembangan saya dan semuanya baik-baik saja :-)
sumber
Saya perlu menginstal versi .net Core terbaru yang ditemukan di sini . Tidak perlu me-restart situs atau server
sumber
Saya menyelesaikannya dengan menambahkan "izin edit" ke aplikasi situs, dipetakan ke direktori fisik dan kemudian memilih pengguna windows yang dapat memiliki akses ke folder root ini. (jaringan pribadi).
sumber
Dalam kasus saya, setelah menginstal
AspNetCore.2.0.6.RuntimePackageStore_x64.exe
danDotNetCore.2.0.6-WindowsHosting.exe
, saya perlu me - restart server untuk membuatnya berfungsi tanpa gateway buruk 502 dan kesalahan proxy.MEMPERBARUI:
Ada cara Anda dapat menggunakannya tanpa memulai ulang: https://stackoverflow.com/a/50808634/3634867
sumber
Buka prompt perintah dengan kredensial Administrator
Ketik perintah berikut dan tekan enter
ATAU
Buka Visual Studio 2017 dengan kredensial Administrator
Ketik perintah berikut di Package Manager Console dan tekan enter
sumber
Bagi saya itu disebabkan oleh versi berbeda dari .Net Core diinstal. Saya mencocokkan dev dan server produksi saya dan berhasil.
sumber
Saya mengalami masalah ini juga (Kesalahan terjadi pada VS 15 dan 17). Namun pada VS15 itu mengembalikan
CONNECTION_REFUSED
kesalahan dan pada VS17 itu kembaliASP.NET Core 1.0 on IIS error 502.5
.MEMPERBAIKI
Arahkan ke direktori proyek Anda dan temukan folder tersembunyi
.vs
(itu terletak di direktori folder proyek). (Ingatlah untuk menampilkan file / folder tersembunyi)Tutup VS
sumber
Inilah yang saya pikirkan, dan ini terjadi baru-baru ini di Windows 10 setelah pembaruan diinstal. Dari apa yang saya kumpulkan, pembaruan Windows Defender diinstal yang mengasumsikan "Project.dll" saya (proyek inti asp.net) berperilaku seperti virus sehingga dihapus.
Jadi, salah satu hal pertama yang saya sarankan Anda lakukan sebelum Anda mulai menginstal / mencopot pemasangan barang adalah memeriksa untuk memastikan "Project.dll" Anda berada di tempat yang seharusnya.
Salin kembali ke lokasi jika sudah tidak ada lagi.
Jika Anda mengalami kesulitan menyalin file kembali tambahkan pengecualian ke folder proyek Anda di Windows Defender . ( Pelajari cara melakukannya di sini .)
Ini bekerja untuk saya secara instan, dan saya mengulanginya di beberapa aplikasi server.
sumber
Bagi saya, connectionString di Startup.cs null di:
dan nilainya null karena aplikasi tidak mencari appsettings.json untuk string koneksi.
Harus mengubah Program.cs menjadi:
sumber
Saya tidak tahu mengapa ini berhasil untuk saya, tetapi saya menggunakan Otentikasi Windows dan saya memiliki sedikit kode ini di
BuildWebHost
dalamProgram.cs
:Setelah menghapus
.UserHttpSys
bit, sekarang berfungsi, dan saya masih dapat mengautentikasi sebagai pengguna domain.BuildWebHost
sekarang terlihat sepertisumber
Saya mendapatkan kesalahan yang sama, dan menemukan masalahnya adalah selama publikasi ke Azure, file web.config saya telah dimodifikasi sehingga baris berikut ini berakhir seperti ini:
Masalah untuk Produksi adalah isi dari argumen: "-argFile IISExeLauncherArgs.txt"
Sepertinya masalah ini akan dibahas di .NET Core SDK berikutnya (saat ini dalam pratinjau), tetapi untuk saat ini, solusinya adalah dengan menambahkan blok ini ke file .csproj:
Ini akan mengubah web.config dan menghapus bagian bermasalah untuk penerbitan.
Referensi: https://github.com/aspnet/websdk/issues/242
Semoga membantu.
sumber
Bekerja untuk saya setelah mengubah konfigurasi penerbitan.
sumber
Saya memiliki masalah serupa (Asp.Net Core 2.x) yang disebabkan oleh mencoba menjalankan aplikasi inti asp.net 32-bit di IIS pada server windows 64-bit. Akar penyebabnya adalah bahwa web.config yang dibuat secara otomatis (jika proyek Anda tidak secara eksplisit menyertakannya, yang proyek inti asp.net tidak secara default) tidak berisi jalur lengkap ke dotnet yang dapat dieksekusi. Saat Anda memasang paket hosting pada mesin 64 bit, versi 64 dan 32 bit dari dotnet akan dipasang, tetapi jalur akan diselesaikan secara default ke 64 bit dan aplikasi inti asp.net 32 bit Anda akan gagal dimuat. Di browser Anda, Anda mungkin melihat kesalahan 502.5 dan jika Anda melihat log peristiwa server, Anda mungkin melihat kode kesalahan 0x80004005. Jika Anda mencoba menjalankan dotnet.exe dari prompt perintah untuk memuat dll aplikasi inti asp.net Anda di server itu, Anda mungkin melihat kesalahan seperti "BadImageFormatException" atau "
sumber
Saya mendapat masalah yang sama dan alasan dalam kasus saya adalah inti EF mencoba membaca string koneksi dari
appsettings.development.json
file. Saya membukanya dan menemukan string koneksi telah dikomentari.Saya kemudian membatalkan komitmen mereka seperti di bawah ini dan masalah terpecahkan:
sumber