Saya memiliki aplikasi ASP.NET Core 3.0 yang sudah ada sebelumnya yang berhasil digunakan untuk Layanan Aplikasi Azure (menggunakan AspNetCoreModuleV2
modul). Setelah memutakhirkan aplikasi ke (rilis hari ini) ASP.NET Core 3.1 , aplikasi membangun dan berjalan dengan benar pada versi lokal saya dari IIS Express . Ketika saya mencoba untuk mempublikasikan ke Layanan Aplikasi Azure menggunakan (rilis hari ini) Visual Studio 16.4 , namun, saya menerima kesalahan berikut:
File aset 'C: \ Project \ obj \ project.assets.json' tidak memiliki target untuk '.NETCoreApp, Version = v3.0'. Pastikan pemulihan telah berjalan dan Anda telah memasukkan 'netcoreapp3.0' di TargetFrameworks untuk proyek Anda.
Catatan
- Semua
<PackageReference>
's untukMicrosoft.AspNetCore
,Microsoft.EntityFrameworkCore
danMicrosoft.Extensions
telah diperbarui untuk3.1.0
- Saya sudah membersihkan solusi saya, dan bahkan nuked
obj
folder saya untuk memastikan tidak ada referensi yang tersisa. - Kesalahan ini dihasilkan dari
3.1.100
versiMicrosoft.PackageDependencyResolution.targets
.
Saya mendapatkan sesuatu yang masih tergantung pada dependensi .NET Core 3.0 . Tetapi tidak jelas mengapa itu hanya menyebabkan masalah selama penempatan. Apakah Layanan Aplikasi Azure belum siap untuk .NET Core 3.1 ? Atau apakah ini merupakan masalah dengan target resolusi ketergantungan?
sumber
asp.net-core-3.1
. Saya tidak memiliki reputasi yang diperlukan untuk membuat tag baru.<TargetFramework>
pengaturan dalampubxml
profil yang Visual Studio bergantung pada, yang saya spasi pada. Ups! Mengubahnya agarnetcoreapp3.1
sesuai dengancsproj
target menyelesaikan masalah langsung. (Ini memperkenalkan masalah baru dengan Azure App Service sendiri yang tersandung pada target, tetapi itu mungkin dapat diatasi dengan menggunakan penyebaran mandiri, mirip dengan tautan yang Anda berikan.) Terima kasih telah mengarahkan saya ke arah yang benar!Jawaban:
Masalah langsung — sebagaimana diidentifikasi dalam pertanyaan awal — berkaitan dengan keberadaan dua tempat di mana
<TargetFramework>
:csproj
)pubxml
)The
<TargetFramework>
harus diperbarui di kedua lokasi, dan mereka harus sesuai persis . Kalau tidak, penerbitan tidak akan dapat menemukan targetnya diproject.assets.json
file, yang dibangun berdasarkan pada<TargetFramework>
dicsjproj
file.Editor Teks
Untuk melakukan modifikasi ini melalui editor teks,
~/Properties/PublishProfiles
foldernya.*.pubxml
ingin Anda edit.<TargetFramework>
untuknetcoreapp3.1
:Visual Studio 2019
Untuk melakukan modifikasi ini melalui Visual Studio 2019 IDE,
netcoreapp3.1
, klik edit icon sebelahnya.netcoreapp3.1
.Sekali lagi terima kasih kepada @PanagiotisKanavos karena mengarahkan saya ke arah yang benar (lihat komentar di utas asli).
sumber
pubx
file seperti yang Anda jelaskan itu masih di 3.0. Sangat membuat frustrasi. Jujur, saya tidak punya apa-apa selain aneh, tidak jelas dan benar-benar menunjukkan menghentikan bug dan masalah sejak VS 16.3 dan .NET Core 3.0 dirilis. Terima kasih lagi!HTTP Error 500.30 - ANCM In-Process Start Failure
pesan dari pesan asli saya. Sebelumnya, ini mengharuskan penerbitan distribusi aplikasi Anda sepenuhnya mandiri. (Yang mengatakan, biasanya ada jeda waktu 2-3 hari antara versi baru .NET Core menjatuhkan, dan itu diintegrasikan ke dalam lingkungan Layanan Aplikasi Azure , jadi ini berguna untuk diperhatikan dalam pembaruan di masa mendatang.)Buka folder Proyek;
Buka file FolderProfile.pubxml lalu ubah versi 3.0 menjadi 3.1
netcoreapp3.1
Terakhir, buat kembali aplikasi Anda sebelum diterbitkan
sumber
pubxml
file secara manual, dan terutama mengingat kesalahan memodifikasi nilai-nilai ini melalui Visual Studio 2019 GUI. Saya telah memasukkan detail ini ke dalam jawaban awal saya sehingga opsi ini dijelaskan secara eksplisit. Terima kasih!perubahan
bekerja untukku.
sumber
Microsoft.AspNetCore
perpustakaan harus diperbarui3.1.0
, sesuai dengan catatan rilis Microsoft v3.1. Pendekatan Anda mungkin merupakan perbaikan yang valid untuk masalah serupa di ASP.NET Core 2.2 , dengan asumsi bahwa kesalahan itu bukan disebabkan oleh ketidakcocokan antara Andacsproj
danpubx
file, seperti dalam kasus saya.