ข้อผิดพลาด HTTP 500.30 - ANCM ในกระบวนการเริ่มต้นล้มเหลว


115

ฉันกำลังทดลองใช้ฟีเจอร์ใหม่ที่มาพร้อมกับ. net core sdk 2.2 ซึ่งคาดว่าจะช่วยเพิ่มประสิทธิภาพได้ประมาณ 400%

น่าประทับใจมากดังนั้นฉันจึงได้ลองใช้กับโครงการ ABP ( ASP.NET Boilerplate ) ของฉัน

Template asp.net core mvc 4.0.2.0

ฉันเพิ่มสิ่งต่อไปนี้ลงในweb.mv.cprojไฟล์ของฉัน

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
  </ItemGroup>

น่าเสียดายที่ฉันไม่คิดว่าเฟรมเวิร์ก ABP เวอร์ชันนี้เข้ากันได้เนื่องจากโครงการล้มเหลวในการรันและโยน: (ในที่สุด)

ข้อผิดพลาด HTTP 500.30 - ANCM ในกระบวนการเริ่มต้นล้มเหลว

ฉันตรวจสอบบันทึกหลังจากตั้งค่าstdoutLogEnabled="true"ใน web.config แล้วลองใหม่ - แต่ไม่มีรายการ

มีใครประสบความสำเร็จในการรัน ABP ปัจจุบันกับคอร์ asp.net ในการตั้งค่ากระบวนการหรือไม่

ฉันคิดว่านี่อาจเป็นสิ่งที่มีอยู่ใน ABP vNext เท่านั้น


ตรวจสอบว่ามีฟังก์ชันสาธารณะที่ไม่มีแอตทริบิวต์ POST หรือไม่ ทำให้เป็นส่วนตัว
Mohan

คำตอบ:


133

ใน ASP.NET หลัก 2.2 เซิร์ฟเวอร์ใหม่ / รูปแบบโฮสติ้งได้รับการปล่อยตัวกับ IIS เรียกว่าIIS InProcess โฮสติ้ง ในการเปิดใช้งานโฮสติ้งที่ไม่ประมวลผลองค์ประกอบ csproj AspNetCoreHostingModel จะถูกเพิ่มเพื่อตั้งค่า hostingModel เป็น inprocess ในไฟล์ web.config นอกจากนี้ web.config ยังชี้ไปที่โมดูลใหม่ที่เรียกว่า AspNetCoreModuleV2 ซึ่งจำเป็นสำหรับการโฮสต์ที่ไม่ได้ดำเนินการ

หากเครื่องเป้าหมายที่คุณกำลังปรับใช้ไม่มี ANCMV2 คุณจะใช้โฮสติ้ง IIS InProcess ไม่ได้ หากเป็นเช่นนั้นลักษณะการทำงานที่เหมาะสมคือการติดตั้งดอทเน็ตโฮสติ้งบันเดิลไปยังเครื่องเป้าหมายหรือดาวน์เกรดเป็น AspNetCoreModule

ที่มา: jkotalik (Github)

ลองเปลี่ยนส่วนใน csproj (แก้ไขด้วยโปรแกรมแก้ไขข้อความ)

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>

ดังต่อไปนี้ ...

 <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
    <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
 </PropertyGroup>

ที่มา (Github)


1
ฉันใช้คำแนะนำของคุณ แต่เปลี่ยนเป็นInProcessและดูเหมือนว่าจะใช้ได้ดี ขอบคุณ!
Jazb

4
ผู้ช่วยชีวิต 10x
Valentin Petkov

2
ฉันต้องเปลี่ยน InProcess เป็น OutOfProcess hosting ใน web.config
Mateusz Migała

1
ฉันต้องการทราบว่ารวมAspNetCoreModuleเอาท์พุทดีบักแบ่งใน VS2017 https://github.com/aspnet/AspNetCore/issues/6609
Eric

1
พื้นฐานนี้เปลี่ยนแปลงวิธีการทำงานของไซต์บน IIS tho หรือไม่
hanzolo

50

จาก ASP.NET Core 3.0+ และ visual studio 19 เวอร์ชัน 16.3+ คุณจะพบส่วนในไฟล์ project. csproj เป็นดังนี้ -

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

ไม่มีคุณสมบัติ AspNetCoreHostingModel ที่นั่น คุณจะพบการเลือกโมเดลโฮสติ้งในคุณสมบัติของโครงการ คลิกขวาที่ชื่อโปรเจ็กต์ในตัวสำรวจโซลูชัน คลิกคุณสมบัติ

ใส่คำอธิบายภาพที่นี่

คลิกเมนู Debug

ใส่คำอธิบายภาพที่นี่

ใส่คำอธิบายภาพที่นี่

เลื่อนลงเพื่อค้นหาตัวเลือก Hosting Model

ใส่คำอธิบายภาพที่นี่

เลือกนอกกระบวนการ

ใส่คำอธิบายภาพที่นี่

บันทึกโครงการและเรียกใช้ IIS Express

อัปเดตสำหรับการปรับใช้เซิร์ฟเวอร์:

เมื่อคุณเผยแพร่แอปพลิเคชันของคุณในเซิร์ฟเวอร์จะมีไฟล์กำหนดค่าเว็บดังต่อไปนี้:

ใส่คำอธิบายภาพที่นี่

เปลี่ยนค่าของ 'hostingModel' จาก 'inprocess' เป็น 'outofprocess' ดังต่อไปนี้:

ใส่คำอธิบายภาพที่นี่


หลังจากที่ฉันเผยแพร่ในการให้บริการฉันเปลี่ยนค่าของ 'hostingModel' จาก 'inprocess' เป็น 'outofprocess' ตามที่คุณกล่าว แต่ตอนนี้ฉันได้รับข้อผิดพลาดนี้: HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure
waki68

ตกลงก่อนเปลี่ยนค่าของมันหรือเปล่า
Mohammad Sadiqur Rahman

ไม่ไม่เป็นไร แต่แก้ไขได้โดยการติดตั้ง Hosting Bundle
waki68

คุณจะทำสิ่งนี้ได้อย่างไรหากไม่มีไฟล์ web.config
MyDaftQuestions

@MohammadSadiqurRahman นี้ได้ผลสำหรับฉัน แต่การเปลี่ยน outofprocess เป็น OutOfProcess อาจช่วยได้ ขอบคุณที่ช่วยวันของฉัน :)
M Hanif

22

ในกรณีของฉันฉันเพิ่งเปลี่ยนสตริงการเชื่อมต่อฐานข้อมูลในไฟล์ appstettings.json โดยไม่ต้องบันทึกหรือจับข้อผิดพลาดฉันสงสัยว่าข้อผิดพลาดนี้ทำให้เกิดข้อผิดพลาด "HTTP Error 500.30 - ANCM In-Process Start Failure"

ฉันบังเอิญสังเกตเห็นการแลกเปลี่ยนระหว่าง x-freestyler และ Tahir Khalid ที่ Tahir แนะนำปัญหา IOC ในการเริ่มต้น เนื่องจากการเริ่มต้นของฉันไม่ได้เปลี่ยนแปลงเมื่อเร็ว ๆ นี้ แต่ appstettings.json ของฉันมี - ฉันพิจารณาแล้วว่าสตริงการเชื่อมต่อใน appstettings.json ของฉันเป็นสาเหตุของปัญหา ฉันแก้ไขสตริงการเชื่อมต่อที่ไม่ถูกต้องและปัญหาได้รับการแก้ไขแล้ว ขอบคุณชุมชนทั้งหมด


4
ขอบคุณสำหรับการแบ่งปัน. ฉันตรวจสอบ appsettings.json ของฉันและพบว่าพิมพ์ผิด ที่ช่วยแก้ปัญหา
heringer

ในทำนองเดียวกัน; ฉันได้รับข้อความ "HTTP Error 500.30 - ANCM In-Process Start Failure" เมื่อไฟล์ appsettings.json ของฉันไม่มี "{"
JTech

ขอบคุณใน appsettings.json ของฉันในสตริงการเชื่อมต่อฉันพลาดหนี "\" โดย "\\" ในสตริงการเชื่อมต่อ sqlexpress ในเครื่อง ดังนั้นก่อนการแก้ไขฉันมี "Server = machine01 \ SQLEXPRESS; xxxx" และตอนนี้มี "Server = machine01 \\ SQLEXPRESS; xxxx" มันทำงานได้อย่างสมบูรณ์แบบ!
bau

ฉันไม่สังเกตเห็นปัญหาของฉันโดยสุจริตจนกว่าจะดูระบบEvent Logsที่ระบุการตั้งค่า JSON ที่ผิดรูปแบบ
vandsh

คล้ายกับสิ่งที่ @heringer พบฉันมีอักขระที่ไม่ถูกต้องในสตริงการเชื่อมต่อของฉัน การลบออกช่วยแก้ปัญหาได้
Alexander Santos

12

หากคุณกำลังใช้ Visual Studio และมีอินสแตนซ์ใด ๆ ทำงานอยู่ให้ปิดทั้งหมด

คุณควรค้นหา.vsโฟลเดอร์ย่อยที่มีโซลูชัน Visual Studio ( .slnไฟล์) ของคุณอยู่
ลบ.vsโฟลเดอร์และลองอีกครั้งด้วยโมเดลโฮสติ้งที่อยู่ระหว่างดำเนินการ


10

ASP.NET Core 2.2 หรือใหม่กว่า: สำหรับการปรับใช้แบบ 64 บิต (x64) ในตัวที่ใช้โมเดลโฮสติ้งในกระบวนการให้ปิดใช้งานพูลแอพสำหรับกระบวนการ 32 บิต (x86)

ในแถบด้านข้างการดำเนินการของ IIS Manager> Application Pools เลือก Set Application Pool Defaults หรือ Advanced Settings ค้นหา Enable 32-Bit Applications และตั้งค่าเป็น False

ที่มา: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.0#create-the-iis-site


1
การเปลี่ยนแปลงนี้แก้ไขปัญหาของฉันในการแปลงจาก ASP.NET Core 3.0 เป็น 3.1
SteveC

Dotnet core 3.1: ฉันเปลี่ยน SelfContained เป็น false ใน pubxml และได้รับข้อผิดพลาด สิ่งนี้แก้ไขได้
Andrew Cowenhoven

6

ฉันได้รับข้อผิดพลาดเดียวกันในเครื่องพัฒนาที่ใช้ Windows 10 ข้อผิดพลาดไม่หายไปหลังจากที่ฉันติดตั้ง dotnet core hosting bundle ฉันต้องไปที่ Event Viewer เพื่อรับข้อผิดพลาดโดยละเอียด ปัญหาพื้นฐานของคุณ (ถ้ามี) อาจแตกต่างจากของฉัน ประเด็นคือถ้าคุณใช้เครื่อง Windows Event Viewer จะคอยให้รายละเอียด หวังว่านี่จะช่วยใครบางคนได้

โปรแกรมดูเหตุการณ์ให้รายละเอียดข้อผิดพลาด


5

ฉันดู Windows Logs ใน Application มันแสดงข้อความแสดงข้อผิดพลาดและการติดตามสแต็ก ฉันพบว่าฉันไม่มีโฟลเดอร์ชื่อ node_modules ฉันสร้างโฟลเดอร์นั้นและแก้ไขมัน

ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ กับ web.config หรือไฟล์โครงการ NETCoreApp เวอร์ชันของฉันคือ 3.1


+1 สำหรับการค้นหาใน Windows Logs เพื่อค้นหาข้อความแสดงข้อผิดพลาดโดยละเอียดซึ่งช่วยให้ฉันแก้ไขได้อย่างรวดเร็ว - ขอบคุณ!
tristankoffee

4

ในกรณีนี้อาจเป็นเพียงการพิมพ์ผิดซึ่งทำให้เสียหายและป้องกันการแยกวิเคราะห์ไฟล์การตั้งค่า JSON


และเป็นไปได้อย่างไร?
tnk479

3

การลบบรรทัด AspNetCoreHostingModel ในไฟล์. cproj ใช้ได้ผลสำหรับฉัน ไม่มีบรรทัดดังกล่าวในโครงการอื่นของฉันซึ่งทำงานได้ดี

<PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>

2
ฉันไม่ชอบลบสิ่งต่าง ๆ เพื่อแก้ไขปัญหาเนื่องจากปกปิดสิ่งที่เป็นปัญหาจริง แต่ขอขอบคุณ x-freestyler สำหรับโพสต์นี้เนื่องจากการลบบรรทัดนั้นออกจะทำให้เกิดปัญหาพื้นฐานซึ่งเกี่ยวข้องกับความล้มเหลวในการเริ่มต้นของ IoC สำหรับหนึ่งใน การอ้างอิงไม่ได้ลงทะเบียน!
Tahir Khalid

3

ฉันมีปัญหาคล้ายกันเมื่อพยายามเปลี่ยนจากโฮสติ้ง OutOfProcess เป็น InProcess โฮสติ้งในโปรเจ็กต์. Net Core ซึ่งเพิ่งอัปเกรดจาก 2.0 เป็น 3.0

ไม่มีข้อผิดพลาดที่เป็นประโยชน์อย่างแท้จริงในการดำเนินการต่อและหลังจากใช้เวลาหลายวันในการพยายามแก้ไขปัญหานี้ในที่สุดฉันก็พบวิธีแก้ไขสำหรับกรณีของฉันซึ่งฉันคิดว่าจะแบ่งปันเผื่อว่าจะเป็นประโยชน์กับใครก็ตามที่กำลังดิ้นรน

สำหรับฉันมันเกิดจากแพ็คเกจMicrosoft.AspNetCoreบางส่วน

หลังจากลบแพคเกจ Microsoft.AspNetCore ที่อ้างถึงทั้งหมดที่มีเวอร์ชันน้อยกว่า 3.0.0 (ไม่มีการอัปเกรด> = 3.0.0 สำหรับสิ่งเหล่านี้) ข้อผิดพลาดนี้จะไม่เกิดขึ้นอีกต่อไป

นี่คือแพ็คเกจที่ฉันเอาออก

<PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.8" />
<PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="2.2.1" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />

แพ็คเกจ Microsoft.AspNetCore อื่น ๆ ทั้งหมดที่มีเวอร์ชันมากกว่าหรือเท่ากับ 3.0.0 ทำงานได้ดี


3

ดาวน์โหลดตัวติดตั้ง. NET Core Hosting Bundle โดยใช้ลิงค์ต่อไปนี้:

ตัวติดตั้ง. NET Core Hosting Bundle ปัจจุบัน (ดาวน์โหลดโดยตรง)

  1. เรียกใช้โปรแกรมติดตั้งบนเซิร์ฟเวอร์ IIS
  2. รีสตาร์ทเซิร์ฟเวอร์หรือดำเนินการ net stop คือ / y ตามด้วย net start w3svc ในเชลล์คำสั่ง

2

การตั้งค่าโปรไฟล์การเผยแพร่นี้ได้รับการแก้ไขสำหรับฉัน:

กำหนดค่าโปรไฟล์การเผยแพร่ -> การตั้งค่า -> ตัวเลือกส่วนขยายไซต์ ->

  • [x] ติดตั้ง ASP.NET Core Site Extension


2

ฉันพบปัญหาอื่นที่เริ่มให้ข้อความแสดงข้อผิดพลาดเดียวกันกับในคำถาม ฉันกำลังแบ่งปันสิ่งนี้ที่นี่เพื่อที่ก่อนที่จะเปลี่ยนไฟล์โครงการคุณสามารถตรวจสอบให้แน่ใจว่าบริการของคุณได้รับการลงทะเบียนอย่างถูกต้อง

ฉันกำลังเรียกใช้. netcore 2.2 และได้รับข้อความแสดงข้อผิดพลาดเดียวกันดังนั้นฉันจึงเปลี่ยนไฟล์โครงการจาก InProcess เป็น OutOfProcess ตามคำตอบที่เลือก หลังจากนั้นฉันก็พบสาเหตุที่แท้จริงของปัญหาเมื่อได้รับ“ ไม่สามารถสร้างอินสแตนซ์ประเภทการใช้งานได้”: สาเหตุของปัญหานี้เกิดจากฉัน:

services.AddScoped<IMyService, IMyService>();

แทน

services.AddScoped<IMyService, MyService>();

โพสต์ที่เกี่ยวข้อง: เหตุใดฉันจึงได้รับข้อผิดพลาด "ไม่สามารถสร้างอินสแตนซ์ประเภทการใช้งาน" สำหรับบริการทั่วไปของฉัน


1
นี่ก็เป็นกรณีของฉันเช่นกัน ขอบคุณ.
Felipe Romero

1

หลังจากใช้เวลาทั้งวันในการต่อสู้กับตัวเองในการตัดสินใจโฮสต์แอปพลิเคชันหลักของ asp.net บน IIS ด้วยโฮสติ้ง InProcess ในที่สุดฉันก็ภูมิใจและโล่งใจที่ได้รับการแก้ไข เวลาผ่านไปหลาย ๆ ครั้งในฟอรัมบล็อกและคำถาม SO ซึ่งพยายามอย่างเต็มที่เพื่อแก้ปัญหาฉันยังคงติดขัดหลังจากทำตามวิธีการที่กล่าวมาทั้งหมด ตอนนี้ฉันจะอธิบายประสบการณ์ของฉันในการแก้ปัญหา

ขั้นตอนที่ 1: สร้างเว็บไซต์ใน IIS

ขั้นตอนที่ 2: ตรวจสอบให้แน่ใจว่า AppPool สำหรับเว็บไซต์มีเวอร์ชัน. Net CLR ที่ตั้งค่าเป็นคุณสมบัติ "No Managed Code" และ "Enable 32-bit Applications" ใน AppPool -> Advanced Settings ถูกตั้งค่าเป็น false

ขั้นตอนที่ 3: ตรวจสอบให้แน่ใจว่าโครงการของคุณอ้างอิง. Net core 2.2

ขั้นตอนที่ 4: เพิ่มบรรทัดต่อไปนี้ในไฟล์ startup.cs ของคุณภายในเมธอด ConfigureServices

services.Configure<IISServerOptions>(options =>
{
     options.AutomaticAuthentication = false;
});

ขั้นตอนที่ 6: เพิ่มแพ็คเกจ Nuget ต่อไปนี้

Microsoft.AspNetCore.App v2.2.5 หรือสูงกว่า

Microsoft.AspNetCore.Server.IIS v2.2.2 หรือสูงกว่า

ขั้นตอนที่ 7: เพิ่มบรรทัดต่อไปนี้ในไฟล์. csproj ของคุณ

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

ขั้นตอนที่ 8: สร้างและเผยแพร่โค้ดของคุณ (ควรเป็นx64 bitness )

ขั้นตอนที่ 9: ตรวจสอบว่าคุณได้เพิ่มชื่อโฮสต์เว็บไซต์ของคุณในไฟล์ etc / hosts

ขั้นตอนที่ 10: เริ่มบริการเผยแพร่เวิลด์ไวด์เว็บใหม่

ตอนนี้ทดสอบแอปพลิเคชันหลัก asp.net ของคุณและควรโฮสต์โดยใช้โฮสติ้ง InProcess เพื่อตรวจสอบว่าแอปของคุณโฮสต์โดยใช้โหมด InProcess หรือไม่ให้ตรวจสอบส่วนหัวการตอบกลับและควรมีบรรทัดต่อไปนี้

เซิร์ฟเวอร์: Microsoft-IIS / 10.0 (เวอร์ชัน IIS อาจเป็นอะไรก็ได้ในระบบของคุณ)

อัปเดต : ดาวน์โหลดและติดตั้งASP.Net Core Hosting Bundleซึ่งจำเป็นสำหรับการใช้งาน


1

แก้ไขปัญหาของฉันโดยเรียกใช้ App Pool เฉพาะสำหรับ AspNetCoreModuleV2

คำอธิบาย:

HTTP Error 500.34 - ANCM Mixed Hosting Models Not Supported

ฉันใช้งานหลายแอพพลิเคชั่นภายใต้ App Pool เดียวกัน แอพพลิเคชั่นบางตัวกำลังทำงานอยู่

<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />

แอปพลิเคชันที่ทำให้เกิดข้อผิดพลาดกำลังเรียกใช้ AspNetCoreModuleV2

<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />

ฉันสร้าง App Pool ใหม่สำหรับ AspNetCoreModuleV2 และมันก็แก้ปัญหาของฉันได้


1

ฉันพบปัญหานี้ใน Azure App Service เมื่ออัปเกรดจาก 2.2 เป็น 3.1 สาเหตุที่ลงเอยด้วยการติดตั้งส่วนขยาย "ASP.NET Core 2.2 (x86) Runtime" ในบริการแอป การลบส่วนขยายนั้นออกจาก Kudu ช่วยแก้ปัญหาได้!


1

ว้าวมีคำตอบมากมายสำหรับคำถามนี้ แต่ฉันมีปัญหาเดียวกันนี้และวิธีแก้ปัญหาของฉันแตกต่างจากสิ่งที่ฉันอ่านที่นี่และก็ค่อนข้างง่าย

ฉันประสบปัญหาในการปรับใช้แอปของฉันเป็นสีฟ้าด้วยการตั้งค่าสภาพแวดล้อมที่เหมาะสมดังนั้นฉันจึงยุ่งกับไฟล์ launchsettings.json และฉันได้เปลี่ยนค่าของตัวแปร ASPNETCORE_ENVIRONMENT ในโปรไฟล์ IIS จาก "การพัฒนา" เป็น "การผลิต" . การเปลี่ยนกลับเป็น "การพัฒนา" ช่วยแก้ปัญหาให้ฉันได้

  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }

1

ในกรณีของฉันมันเป็นค่าที่ไม่ถูกต้องในไฟล์ appsettings.json ค่าคือ.\SQLEXPRESSและใช้งานได้หลังจากที่ฉันเปลี่ยนเป็น.\\SQLEXPRESS


ของฉันเกิดจากไฟล์ appsettings.json ที่มีรูปแบบไม่ดีเช่นกัน!
fosbie


0

เนื่องจากแอปพลิเคชันขัดข้อง สำหรับใครประหยัดเวลาในข้อยกเว้นนี้!

และรหัสข้อผิดพลาดระบุว่ามีข้อยกเว้นเนื่องจากไม่พบไฟล์ในระยะเริ่มต้น ดูส่วนการตั้งค่าสภาพแวดล้อม ในสถานการณ์ของฉันมันใช้งานได้เมื่อฉันเปลี่ยนรหัสต่อไปนี้

var environment = whb.GetSetting("environment");

ถึง

var environment = "Development";// whb.GetSetting("environment");

เนื่องจากฉันมี appsettings.development.json แต่ฉันไม่มี appsettings.production.json ทำไมมันไม่พบไฟล์ใด ๆ เพราะมันกำลังมองหาสิ่งที่แตกต่างอยู่ในสถานที่ที่เหมาะสม


0

ด้วย. Net Core 2.2 คุณควรจะสามารถใช้โมเดลโฮสติ้ง InProcess ได้เนื่องจากเร็วกว่าโดยธรรมชาติ: ทุกอย่างจะถูกประมวลผลใน IIS โดยไม่มี HTTP-hop เพิ่มเติมระหว่าง IIS และเซิร์ฟเวอร์ Kestrel ของแอปของคุณ สิ่งหนึ่งที่คุณอาจต้องทำคือเพิ่มแท็กนี้: AspNetCoreModuleV2 สังเกตตัวเลือก AspNetCoreModuleV2 ใหม่เทียบกับ AspNetCoreModule รุ่นเก่า สิ่งสำคัญอีกอย่างที่ต้องทำคือตรวจสอบ Windows Application Event Log เพื่อระบุตัวผู้กระทำผิด แม้ว่าข้อความแสดงข้อผิดพลาดอาจมีความคลุมเครือในบางครั้งข้อความเหล่านี้จะชี้ไปที่หมายเลขบรรทัดที่แน่นอนในรหัสที่ทำให้เกิดความล้มเหลว นอกจากนี้ในกรณีที่คุณใช้ CI / CD กับ TFS อาจมีตัวแปรสภาพแวดล้อมในไฟล์ appsettings.json ที่ไม่ได้ถูกแทนที่ด้วยค่าที่กำหนดอย่างถูกต้องและนี่เป็นหนึ่งในแหล่งที่มาของข้อยกเว้นสำหรับฉัน


0

ฉันมีปัญหาในProgram.csไฟล์ของฉัน ฉันพยายามเชื่อมต่อกับAddAzureKeyVaultสิ่งที่ถูกลบไปนานแล้ว

สรุป :

This error could come to due to any silly error in the application. Debug step by step your application startup process.

0

ในกรณีของฉันฉันมีการโยกย้ายซึ่งล้มเหลวเมื่อทำงานบนสภาพแวดล้อมเฉพาะใน Azure แต่ทำงานได้ดีใน dev เนื่องจากเราได้กำหนดค่าบริการให้เรียกใช้การย้ายข้อมูลโดยเป็นส่วนหนึ่งของการเริ่มต้นการเริ่มต้นจริงของเว็บแอปจึงล้มเหลว

ฉันรันการย้ายข้อมูลด้วยตนเองบนสภาพแวดล้อมเพื่อค้นหาปัญหาจากนั้นปรับให้จัดการกับความแตกต่างของข้อมูลในสภาพแวดล้อมนั้น

หากใครรู้ว่าฉันเห็นข้อผิดพลาดในการย้ายข้อมูลได้อย่างไรโดยไม่ต้องทำงานโดยตรงบนฐานข้อมูลด้วยตนเองนั่นจะเป็นประโยชน์


0

ฉันเพิ่งมีปัญหาเดียวกัน มันกลายเป็นความผิดพลาดที่โง่เขลาของฉัน

ใน ServiceCollection ฉันพยายามลงทะเบียนไฟล์ abstract class

services.AddScoped<IMyInterface, MyClasss>();

ที่MyClassเป็นabstractไม่รู้เหตุผลสำหรับฉันฮิฮิ :)

ถ้าคุณมีHTTP Error 500.30 - ANCM In-Process Start Failure เพียงแค่ตรวจสอบไฟล์ServiceCollection


0

สำหรับฉันทุกอย่างเรียบร้อยดี แต่ปัญหาเกิดจากการเผยแพร่โดย VS เวอร์ชันที่แตกต่างกันแปลก !!! (VS ล่าสุด 2019 (16.4.2)) เมื่อฉันเผยแพร่แอปพลิเคชันด้วย VS 2017 มันใช้งานได้ดี

ปัญหาที่เกิดขึ้นจริงคือในแฟ้มพึ่งพา JSON (เช่นMyWebApp.deps.json) ในโฟลเดอร์เผยแพร่ หวังว่ามันจะช่วยใครบางคน

ใส่คำอธิบายภาพที่นี่


เมื่อเร็ว ๆ นี้ฉันพบว่าไฟล์อยู่ในโฟลเดอร์ที่เผยแพร่ แต่ข้อความแสดงข้อผิดพลาดใน evenLogs ชี้ไปที่ไฟล์ dep.json นี้และในเส้นทางไฟล์ JSON ที่กล่าวถึงนี้runtimes/win-x64/nativeไม่แน่ใจว่าสิ่งนี้ชี้ไปที่โฟลเดอร์เดียวกันหรือในบางเส้นทาง
เปรม

ปัญหาจริงที่ฉันมีในบล็อกคือ Could not find inprocess request handler. Captured output from invoking hostfxr: Error: An assembly specified in the application dependencies manifest (Cues.Web.deps.json) was not found: package: 'runtime.win-x64.Microsoft.NETCore.App', version: '2.2.8' path: 'runtimes/win-x64/native/mscordaccore_amd64_amd64_4.6.28207.03.dll'
เปรม

0

โปรดดูคำตอบก่อนหน้าของฉันในหัวข้อเดียวกันนี้เพื่อทำความเข้าใจทั้งหมด ขออภัยสำหรับหลายคำตอบ

หลังจากการตรวจสอบเพิ่มเติมปัญหาเกิดขึ้นเนื่องจาก VS 2019 เลือกแพตช์ล่าสุด (พฤติกรรมเริ่มต้นของ VS) ของ. net core 2.2 ซึ่งเป็น 2.2.8 ให้ฉันเผยแพร่แอปพลิเคชัน เราสามารถ จำกัด สิ่งนี้ไว้เฉพาะรุ่นที่เลือกโดยใช้

<RuntimeFrameworkVersion>2.2.4</RuntimeFrameworkVersion>

ดูที่นี่ . ในที่สุดสิ่งนี้ก็แก้ไขปัญหาของฉันได้แม้ว่าจะไม่ได้ใช้โปรแกรมแก้ไขล่าสุดก็ตาม ฉันสามารถสร้างจาก VS 2017 หรือ VS 2019 ใดก็ได้ทั้งเผยแพร่แอปพลิเคชันสำหรับเวอร์ชันรันไทม์. net core 2.2.0

ใส่คำอธิบายภาพที่นี่


0

ฉันมีข้อผิดพลาดเดียวกันและปัญหาเกิดกับ Microsoft.Extension.Primitives เวอร์ชันของแพคเกจเข้ากันไม่ได้กับเวอร์ชัน. net core และนี่คือการอ้างอิงจากหนึ่งในโครงการที่อ้างอิงจากโครงการของฉันกำลังอ้างอิง

เมื่อฉันเปลี่ยน Microsoft.Extension.Primitives ในโครงการนั้นแล้ว ปัญหานี้ได้รับการแก้ไขแล้ว

ในบันทึกเหตุการณ์ Azure ให้ตรวจสอบข้อผิดพลาดที่คุณได้รับและเกี่ยวข้องกับการอ้างอิงแพ็คเกจหรือไม่ ลองใช้สิ่งที่กล่าวมาข้างต้น

เนื่องจากแพ็กเกจ nuget นั้นควบคู่ไปกับเวอร์ชัน. net อย่างแน่นหนา เพียงแค่ต้องตรวจสอบให้แน่ใจว่าแพ็กเกจทั้งหมดที่อ้างถึงโปรเจ็กต์นั้นควรคู่กับเวอร์ชัน. net อย่างแน่นหนา


0

สำหรับฉันฉันมีการเริ่มต้นแอพที่ซับซ้อนซึ่งฉันได้สร้าง WebHostBuilder ของตัวเอง วิธีนี้ใช้งานได้ดี แต่ล้มเหลวเมื่อฉันลองใช้โหมดโฮสติ้ง InProcess ฉันคิดว่ามีบางอย่างที่ฉันไม่ได้โทรหาใน WebHostBuilder ดังนั้นฉันจึงแน่ใจว่าฉันมักจะโทรหา WebHost.CreateDefaultBuilder (args) จากนั้นทำการเปลี่ยนแปลงเพิ่มเติม - โดยพื้นฐานแล้วเป็นเทมเพลตของแอปใหม่

หรือสำหรับเทมเพลต asp core 3.1 ที่ใช้ IHostBuilder (ไม่ใช่ IWebHostBuilder) ให้เรียก ConfigureWebHostDefaults

 public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                // add stuff here
                webBuilder.UseStartup<Startup>();
            });

0

ในกรณีของฉันวิธีแก้ปัญหาข้างต้นไม่ได้ผล แต่เมื่อฉันลบไฟล์ myproject.vspscc จากโซลูชัน explorer ปัญหาจะได้รับการแก้ไข

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.