ไม่พบเฟรมเวิร์กที่ระบุ 'Microsoft.AspNetCore.App', เวอร์ชัน '3.1.0' สำหรับ Linux Azure WebApp


9

ปัญหา

หลังจากอัปเกรด. Net Core 2.2 Linux Web App เป็น. Net Core 3.1 ใน Azure แอปพลิเคชันไม่ทำงานพร้อมSpecified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not foundข้อผิดพลาด ฉันได้ไปเท่าที่จะสร้างใหม่ Linux Web App กับสุทธิหลัก 3.1 และหลังจากที่พร้อมรับคำสั่งทุบตียังคงแสดงผลเป็นdotnet --list-runtimes2.2.7

รายละเอียด

เว็บไซต์ลง

ข้อผิดพลาดของแอปพลิเคชัน

Logstream

แอปพลิเคชันการรายงานหยุดทำงานเนื่องจากไม่พบ. net core 3.1

Logstream

สร้างแอปพลิเคชันเว็บ. net core ใหม่

3.1 linux webapp ใน North Central ปัญหาเดียวกัน

สร้างเว็บแอปใหม่แล้ว

ตรวจสอบให้แน่ใจว่ามันทำงานใน North Central US

ตามhttps://aspnetcoreon.azurewebsites.net/ควรได้รับการสนับสนุน. netCore 3.1 แบบเต็ม

ยังคงเป็น. net core 2.2.7 cmd prompt 2.2.7

opt/dotnet/runtimes รายการ 3, 3.0 และ 3.0.0 แต่ไม่มี 3.1` ป้อนคำอธิบายรูปภาพที่นี่

ตัวแปรสภาพแวดล้อม

ตัวแปรสภาพแวดล้อมของฉันในรายการ Azure FRAMEWORK_VERSION = ltsแทนที่จะเป็น 3.1

การประกาศ

สิ่งนี้ถูกเผยแพร่จากไปป์ไลน์ azure devops ci โดยใช้งาน Azure AppService Deploy 3.1 ไม่มีให้ที่นี่ดังนั้นฉันเลือกLTS

Devops ปล่อยไปป์ไลน์

อัปเดต 1

ดูเหมือนว่าผู้ร้ายคือ 3.1 หายไปจากกรอบสแต็กในงาน Azure Devops Web App / Web Service

เมื่อใดก็ตามที่ฉันเผยแพร่จาก CI เฟรมเวิร์กแอปพลิเคชันจะได้รับการอัปเดตเป็นสิ่งที่เลือกในเมนูแบบเลื่อนลงนี้ ถ้าฉันไปเปลี่ยนเฟรมเวิร์กเป็น 3.1 บน Azure Web App ด้วยตนเองไซต์จะปรากฏขึ้น แต่การเผยแพร่ครั้งต่อไปมันจะกลับลงมาเพราะมันจะเปลี่ยนเฟรมเวิร์กกลับไปเป็นการตั้งค่าใน ci

คำถามใหม่

ฉันจะรับ Azure Devops Release ไปยังเผยแพร่งาน. net core 3.1 ได้อย่างไร

อัปเดต 2

โพสต์ฟอรัม Azure Devops ที่เกี่ยวข้อง

กำลังถูกตรวจสอบ ณ 2/23/2020

.Net Core 3.1 ปรับใช้ไปป์ไลน์กับ Linux App Service

วิธีแก้ปัญหาที่แนะนำ

  1. ใช้ YML สำหรับขั้นตอนการวางจำหน่ายและเปลี่ยนเวอร์ชั่นจาก3.0เป็น3.1บันทึกด้วยคำตอบและเธรดนี้ด้วยตนเอง
  2. ปรับรุ่นจากการเปิดตัวไปframework dependent การอ้างอิงself contained
  3. ปรับลดรุ่นเป็น. NetCore 3.0

แทนที่จะใช้ LTS โปรดลองใช้รุ่นล่าสุด (ไม่แนะนำ แต่ลองใช้แล้วจะดูว่าใช้งานได้หรือไม่)
Manish

ฉันทำและมันไม่ทำงาน แต่ดูเหมือนว่า CI จะเป็นปัญหา ทุกครั้งที่ฉันเผยแพร่ด้วย CI จะเปลี่ยนกรอบงานบนเว็บแอพเป็นอะไรก็ได้ที่เลือกใน CI หากฉันไปที่บริการแอพหลังจาก CI เผยแพร่และเปลี่ยน runtime stack เป็น 3.1 ด้วยตนเองไซต์จะปรากฏขึ้นจนกว่าจะมีการเผยแพร่ครั้งต่อไป
w00ngy

อย่าโพสต์ภาพของรหัสข้อมูลข้อความผิดพลาด ฯลฯ - คัดลอกหรือพิมพ์ข้อความลงในคำถาม วิธีถาม
Rob

คำตอบ:


2

ฉันพบสถานการณ์เดียวกันโดยใช้ข้อมูลที่คุณให้ไว้ฉันสามารถแก้ไขปัญหาได้ด้วยการตั้งค่าด้วยตนเองในไฟล์ .yml Devops Pipelines Build ดูเหมือนว่าพวกเขาจะหายไปจากค่าจาก RunTime Stack หล่นลง หากคุณอัพเดตไฟล์ .yml กระบวนการสร้างด้วยตนเองตามที่เห็นที่นี่:

ป้อนคำอธิบายรูปภาพที่นี่

นี้จะเลือกรุ่นกรอบงานที่เหมาะสม หวังว่าสิ่งนี้จะแก้ไขปัญหาของคุณด้วยการปรับใช้ Azure Devops CI Pipeline


ฉันสงสัยว่าจะแก้ไขได้ไหม ฉันจะลองยิงดู มันอาจจะเป็นงานเล็ก ๆ น้อย ๆ สำหรับฉันที่จะแปลงทั้งรีลีสของฉันเป็น yml ดังนั้นฉันยังไม่ได้ลองเลย ฉันจะแจ้งให้คุณทราบผล! ขอบคุณคำตอบ !!
w00ngy

2
ดูเหมือนว่าเป็นไปได้ที่จะป้อนสตริง DOTNETCORE | 3.1 โดยตรงในช่อง Runtime Stack (และแก้ไขปัญหา) - ดังนั้นไม่จำเป็นต้องแปลงไพพ์ไลน์ของการปล่อยเป็น yaml!
rdavisau

ฉันเพิ่งจะพูดเช่นเดียวกับ @rdavisau - การแก้ไขที่ง่ายที่สุดคือการพิมพ์รุ่น 3.1 ลงในกล่อง Runtime Stack และดูเหมือนว่าจะใช้ค่า
Appleby จะ

อย่าโพสต์ภาพของรหัสข้อมูลข้อความผิดพลาด ฯลฯ - คัดลอกหรือพิมพ์ข้อความลงในคำถาม วิธีถาม
Rob

rdavisau - นี่คงช่วยฉันได้มาก! ฮ่า ๆ.
w00ngy

1

วิธีแก้ปัญหาที่ง่ายกว่าคือการพิมพ์DOTNETCORE|3.1ลงในรายการแบบหล่นลงของกองซ้อนในแบบ devops (ขอบคุณ rdavisau!)

ป้อนคำอธิบายรูปภาพที่นี่

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