ASP.NET Core 1.0 pada kesalahan IIS 502.5


112

Saya baru saja memperbarui server saya (Windows 2012R2) ke .Net Core 1.0 RTMpaket 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 ??



3
Bagaimana hubungannya? Kode kesalahan jelas berbeda. Apalagi fakta bahwa saya mengatakan itu bekerja pada PC saya sendiri dengan IIS.
Vahid Amiri

1
Pertama, saya katakan mungkin terkait, karena menyebutkan bahwa 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.
Brendan Green

apa yang Anda maksud aplikasi Anda bekerja pada pc Anda .. maksud Anda Anda memiliki proyek yang diterapkan ke iis? apakah saya ryt?
Vijunav Vastivch

1
@ VSG24 Apakah Anda melihat bagian dokumen asp.net ini? Menerbitkan ke IIS , ini mencantumkan kesalahan umum dan memiliki beberapa alasan yang terdaftar untuk kesalahan 502,5.
Hamid Mosalla

Jawaban:


112

Saya bisa memperbaikinya dengan berlari

"C: \ Program Files \ dotnet \ dotnet.exe" "C: \ fullpath \ PROJECT.dll"

pada prompt perintah, yang memberi saya kesalahan yang jauh lebih berarti:

"Kerangka yang ditentukan 'Microsoft.NETCore.App', versi '1.0.1' tidak ditemukan. - Periksa ketergantungan aplikasi dan targetkan versi kerangka kerja yang dipasang di: C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App - Versi berikut diinstal: 1.0.0 - Atau, instal versi kerangka kerja '1.0.1'.

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.


2
Saya berhasil menggunakan ini untuk menemukan bahwa saya membutuhkan NodeJS terinstal ... karena ini memberikan "pesan yang jauh lebih berarti".
Tim Harker

Saya tidak bisa memberi tahu Anda berapa banyak waktu yang saya buang untuk ini. Terima kasih. Kesalahan saya terkait dengan sertifikat yang hilang. Mengapa saya tidak bisa mendapatkan kesalahan ini melalui beberapa metode yang waras?
Sprague

4
Bisakah seseorang memberi tahu saya apa perintahnya? Apa itu C: \ fullpath \ dotnet ?? Jalur ke aplikasi Anda, tetapi apa itu dotnet ? Tidak ada file dotnet dalam folder proyek
Jeremy Thompson

9
@JeremyThompson itu adalah jalur dari dotnet.exe yang biasanya terletak di: C: \ Program Files \ dotnet \ dotnet.exe
hatsrumandcode

1
Saya baru saja menemukan kesalahan ini setelah memperbarui ke .NET CORE 2.1.3 memperbaikinya dengan menginstal .NET SDK / runtime.
Mike Bovenlander

68

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:

  • Jika Anda menerbitkan aplikasi mandiri, confirm bahwa Anda tidak menetapkan platform di buildOptionsdari project.jsonyang 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.
  • Periksa processPathatribut pada <aspNetCore>elemen di web.config untuk memastikan bahwa itu dotnetuntuk aplikasi portabel atau. \ My_application.exe untuk aplikasi mandiri.
  • Untuk aplikasi portabel, dotnet.exemungkin tidak dapat diakses melalui pengaturan PATH. Konfirmasikan bahwa C:\Program Files\dotnet\ada di pengaturan PATH Sistem.
  • Untuk aplikasi portabel, dotnet.exemungkin tidak dapat diakses untuk identitas pengguna Application Pool. Konfirmasikan bahwa identitas pengguna AppPool memiliki akses ke C:\Program Files\dotnetdirektori.
  • Konfirmasikan bahwa Anda telah benar mereferensikan middleware Integrasi IIS dengan memanggil .UseIISIntegration()metode aplikasi WebHostBuilder().
  • Jika Anda menggunakan .UseUrls()metode ekstensi saat menghosting sendiri dengan Kestrel, konfirmasikan bahwa itu diposisikan sebelum .UseIISIntegration()metode ekstensi aktif WebHostBuilder(). .UseIISIntegration()harus menyetel Urluntuk 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: identitas pengguna Pool Aplikasi saya


1
Ini adalah Jawaban yang saya cari !, dalam kasus saya itu adalah kumpulan aplikasi juga ....
Armando Ramirez

3
Terima kasih. Dalam kasus saya, masalahnya adalah dengan jalur ke dotnet. Ditemukan log tersebut dalam sistem Event Viewer: Failed to start process with commandline '"dotnet" .\PROJECT.dll', ErrorCode = '0x80070002'.
0x49D1

Saya akan menambahkan alasan lain: "Penginstal tidak dapat memperoleh VC ++ Redistributable" karena server saya tidak memiliki koneksi internet, ia tidak dapat mengunduh paket ini ... Oleh karena itu, Anda harus mengunduhnya secara manual: tautkan dan instal.
Paco Mendez

4
dotnetberada di jalur saya, tetapi memerlukan restart server agar dapat dikenali.
Danny Cullen

dalam kasus saya, saya harus menentukan nilai --runtime dalam perintah publish jika saya memberikan opsi --framework jika tidak JANGAN memberikan --framework dan itu mencari tahu runtime secara default.
Gomes

65

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'


Saya juga menekan iis daur ulang hijau di simpul akar server web di UI. Ini menyelesaikannya untuk saya dikombinasikan dengan pengaturan pengguna untuk kumpulan aplikasi keLocalSystem
JP Hellemons

Terima kasih Michael ... Ini menyelesaikan masalah saya juga. Telah mencari jawaban selama beberapa jam. Terima kasih!
birwin

2
Tx! Jawaban Anda mengingatkan saya akan hal ini dari ms docs "Mulai ulang sistem atau jalankan net stop was / y diikuti oleh net start w3svc dari prompt perintah untuk mengambil perubahan pada PATH sistem." (setelah menginstal .NET Core Windows Server Hosting bundle)
Quinton Smith

Memecahkan masalah saya juga. Terima kasih
Met-u

Bekerja untuk saya. Terima kasih :)
Husnain Shabbir

11

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 dllversi yang hanya berfungsi jika host target telah .Net Core Windows Hostingmenginstal paket. Dalam kasus saya itu dipasang dan itu baik-baik saja .

Setelah aplikasi tidak berfungsi, saya memutuskan untuk mengkompilasinya sebagai aplikasi konsol dengan win7-x64sebagai runtime. Kali ini saat saya menjalankan exeaplikasi saya di server, itu macet dengan kesalahan tentang dll yang hilang:

The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing

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.


5

Saya mengalami masalah yang sama saat menerbitkan aplikasi web. Jika ada yang masih memiliki masalah ini, perbaiki dengan mengubah {AppName} .runtimeconfig.json

    {
  "runtimeOptions": {
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "1.1.2"
    },
    "configProperties": {
      "System.GC.Server": true
    }
  }
}

Ubah versi dari "versi": "1.1.2" menjadi "versi": "1.1.1" dan semuanya berfungsi dengan baik


5

Saya memiliki masalah yang sama.

Untuk mengetahui sumber pastinya, saya mengaktifkan login di file web.config:

<aspNetCore processPath="dotnet" arguments=".\MyWebService.dll" stdoutLogEnabled="**true**" stdoutLogFile=".\logs\stdout" />

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.


3
IMO Anda harus menghapus tanda bintang dari nilai 'benar' untuk menghindari kebingungan.
AperioOculus

4

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.msumengalami masalah saat diinstal. Buka command prompt admin lakukan:

c:
mkdir tmp
mkdir tmp\tmp
move "C:\ProgramData\Package Cache\...\packages\Patch\x64\Windows8.1-KB2999226-x64.msu" c:\tmp
expand -F:* c:\tmp\Windows8.1-KB2999226-x64.msu c:\tmp\tmp
dism /online /add-package /packagepath:c:\tmp\tmp\Windows8.1-KB2999226-x64.cab

CATATAN: ganti "..." dengan nama folder yang benar. Setelah ini instal ulang paket VS C ++ 2015.


4

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.


4

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


Saya mengalami masalah yang sama tetapi dengan net core 2.0.6 yang baru dirilis. Diperbaiki dengan menginstal net core SDK 2.0.6 di server produksi
dodbrian

4

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.


Hai @ Agni, ini berhasil untuk saya, terima kasih. Namun, setiap kali saya mencoba menerbitkan proyek lagi ke Azure, proyek akan dibangun kembali, dan web.config secara otomatis diubah kembali ke aslinya, dengan bagian yang menyebabkan masalah: "-argFile IISExeLauncherArgs.txt". Apakah Anda menemukan solusi untuk itu? (Saya menggunakan asp.net core 2.0).
Rodrigo Pires

1
dalam kasus saya, saya harus berubah processPath="dotnet"menjadi processPath="C:\Program Files\dotnet\dotnet.exe". lalu berhasil.
vaheeds

3

Saya mengalami masalah yang sama ketika saya memperbarui mesin dev saya ke Core 1.0.1, tetapi lupa memperbarui server.


Bagi saya, saya menginstal ulang SDK inti bersih dari sini: microsoft.com/net/core#windows kemudian berhasil.
Jean

1
VS2017 sekarang menjadi .NET Core 1.1 secara default - semua server jarak jauh perlu diperbarui sebelum menerbitkan projs yang ditingkatkan ke IIS. Anda bisa mendapatkan pesan kesalahan yang lebih bermanfaat (".NET core 1.1 tidak diinstal") tetapi berjalandotnet .\YOURPROJDLL.dll
Coruscate5

3

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:

  <PropertyGroup>
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
  </PropertyGroup>

2

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


2

Berbagi itu dalam kasus saya, kesalahan ini karena saya lupa memperbarui project.json dengan:

"buildOptions": {
    "emitEntryPoint": true
  }

2

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:

Program tidak dapat dimulai karena api-ms-win-crt-runtime-l1-1-0.dll hilang

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):

  1. KB2919355
  2. KB2999226

Semoga ini bisa membantu seseorang.


2

Saya menghadapi masalah yang sama ketika saya mencoba menerbitkan versi Debug dari aplikasi web saya. Kumpulan file ini tidak berisi file web.configdengan nilai atribut yang sesuai processPath.

Saya mengambil file ini dari versi Rilis, nilai ditetapkan ke jalur ke file exe saya.

<aspNetCore processPath=".\My.Web.App.exe" ... />

2

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 :-)



2

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).


2

Dalam kasus saya, setelah menginstal AspNetCore.2.0.6.RuntimePackageStore_x64.exedan DotNetCore.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


2

Buka prompt perintah dengan kredensial Administrator

Ketik perintah berikut dan tekan enter

> IISRESET

ATAU

Buka Visual Studio 2017 dengan kredensial Administrator

Ketik perintah berikut di Package Manager Console dan tekan enter

PM > IISRESET

PM> IISRESET
Attempting stop...
Internet services successfully stopped
Attempting start...
Internet services successfully restarted

2

Bagi saya itu disebabkan oleh versi berbeda dari .Net Core diinstal. Saya mencocokkan dev dan server produksi saya dan berhasil.


1

Saya mengalami masalah ini juga (Kesalahan terjadi pada VS 15 dan 17). Namun pada VS15 itu mengembalikan CONNECTION_REFUSEDkesalahan dan pada VS17 itu kembali ASP.NET Core 1.0 on IIS error 502.5.

MEMPERBAIKI

  1. Arahkan ke direktori proyek Anda dan temukan folder tersembunyi .vs(itu terletak di direktori folder proyek). (Ingatlah untuk menampilkan file / folder tersembunyi)

  2. Tutup VS

  3. Hapus .vs-folder
  4. Mulai VS sebagai admin (.vs-folder akan dibuat ulang oleh VS)

1

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.


1

Bagi saya, connectionString di Startup.cs null di:

services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

dan nilainya null karena aplikasi tidak mencari appsettings.json untuk string koneksi.

Harus mengubah Program.cs menjadi:

public static void Main(string[] args)
{
    BuildWebHost(args).Run();
}

public static IWebHost BuildWebHost(string[] args) =>
     WebHost.CreateDefaultBuilder(args)
     .ConfigureAppConfiguration((context, builder) => builder.SetBasePath(context.HostingEnvironment.ContentRootPath)
     .AddJsonFile("appsettings.json").Build())
     .UseStartup<Startup>().Build();

1

Saya tidak tahu mengapa ini berhasil untuk saya, tetapi saya menggunakan Otentikasi Windows dan saya memiliki sedikit kode ini di BuildWebHostdalam Program.cs:

.UseStartup<Startup>()
.UseHttpSys(options =>
{
    options.Authentication.Schemes =
        AuthenticationSchemes.NTLM | AuthenticationSchemes.Negotiate;
    options.Authentication.AllowAnonymous = false;
})
.Build();

Setelah menghapus .UserHttpSysbit, sekarang berfungsi, dan saya masih dapat mengautentikasi sebagai pengguna domain.

BuildWebHost sekarang terlihat seperti

public static IWebHost BuildWebHost(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .Build();

Saya memiliki otentikasi cookie di inti aspnet. Bagaimana cara saya mengkonfigurasi?
kudlatiger

@kudlatiger Maaf, saya tidak yakin - taruhan terbaik Anda adalah membuat pertanyaan terpisah
Bassie

1

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:

<aspNetCore processPath="bin\IISSupport\VSIISExeLauncher.exe" arguments="-argFile IISExeLauncherArgs.txt" forwardWindowsAuthToken="false" stdoutLogEnabled="false" startupTimeLimit="3600" requestTimeout="23:00:00" />

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:

<Target Name="bug_242_workaround" AfterTargets="_TransformWebConfig">
    <Exec Command="powershell &quot;(Get-Content '$(PublishDir)Web.config').replace(' -argFile IISExeLauncherArgs.txt', '') | Set-Content '$(PublishDir)Web.config'&quot;" />
  </Target>

Ini akan mengubah web.config dan menghapus bagian bermasalah untuk penerbitan.

Referensi: https://github.com/aspnet/websdk/issues/242

Semoga membantu.


Atribut startupTimeLimit & requestTimeout yang ditambahkan tampaknya merupakan bug perkakas .
Mark G

1

Bekerja untuk saya setelah mengubah konfigurasi penerbitan.

masukkan deskripsi gambar di sini


Maaf, saya tidak dapat melihat gambar di organisasi saya. Download gambar diblokir (di sebagian besar organisasi).
Auguste

0

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 "

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <location path="." inheritInChildApplications="false">
        <system.webServer>
            <handlers>
                <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
            </handlers>
            <aspNetCore processPath="C:\Program Files (x86)\dotnet\dotnet.exe" arguments=".\My32BitAspNetCoreApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
       </system.webServer>
   </location>
</configuration>

0

Saya mendapat masalah yang sama dan alasan dalam kasus saya adalah inti EF mencoba membaca string koneksi dari appsettings.development.jsonfile. Saya membukanya dan menemukan string koneksi telah dikomentari.

//{
//  "ConnectionStrings": {
//    "DefaultConnection": "Server=vaio;Database=Goldentaurus;Trusted_Connection=True;",
//    "IdentityConnection": "Server=vaio;Database=GTIdentity;Trusted_Connection=True;"
//  }
//}

Saya kemudian membatalkan komitmen mereka seperti di bawah ini dan masalah terpecahkan:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=vaio;Database=Goldentaurus;Trusted_Connection=True;",
    "IdentityConnection": "Server=vaio;Database=GTIdentity;Trusted_Connection=True;"
  }
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.