
Blazor 0.8.0 sekarang tersedia! Rilis ini memperbarui Blazor untuk menggunakan Komponen Razor di .NET Core 3.0 dan menambahkan beberapa perbaikan bug penting.
Dapatkan Blazor 0.8.0
Untuk memulai dengan Blazor 0.8.0 instal yang berikut ini:
- .NET Core 3.0 Pratinjau 2 SDK (3.0.100-pratinjau-010184)
- Visual Studio 2019 (Pratinjau 2 atau lebih baru) dengan ASP.NET dan beban kerja pengembangan web dipilih.
- Perpanjangan Blazor terbaru dari Visual Studio Marketplace.
Templat Blazor pada baris perintah:
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::0.8.0-preview-19104-04
Anda dapat menemukan instruksi memulai, dokumen, dan tutorial untuk Blazor di https://blazor.net .
Tingkatkan ke Blazor 0.8.0
Untuk meningkatkan aplikasi Blazor yang ada ke Blazor 0.8.0, pertama pastikan Anda telah menginstal prasyarat yang tercantum di atas.
Untuk memutakhirkan proyek Blazor 0.7.0 mandiri ke 0.8.0:
- Perbarui paket Blazor dan referensi alat .NET CLI ke 0.8.0-preview-19104-04.
- Ganti referensi paket apa saja dengan Microsoft.AspNetCore.Blazor.
- Ganti
BlazorComponent
dengan ComponentBase
. - Perbarui
SetParameters
pada komponen untuk menggantikan SetParametersAsync
sebagai gantinya. - Ganti
BlazorLayoutComponent
dengan LayoutComponentBase
- Ganti
IBlazorApplicationBuilder
dengan IComponentsApplicationBuilder
. - Ganti pernyataan penggunaan untuk
Microsoft.AspNetCore.Blazor.*
Dengan Microsoft.AspNetCore.Components.*
, Kecuali tinggalkan Microsoft.AspNetCore.Blazor.Hosting
di Program.cs - Di index.html perbarui referensi skrip ke referensi komponen.webassembly.js, bukan blazor.webassembly.js
Untuk memutakhirkan ASP.NET Core meng-host aplikasi Blazor ke 0.8.0:
- Perbarui proyek Blazor sisi klien seperti yang dijelaskan sebelumnya.
- Perbarui aplikasi ASP.NET Core yang menampung aplikasi Blazor ke .NET Core 3.0 dengan mengikuti langkah-langkah migrasi di dokumen ASP.NET Core .
- Perbarui kerangka kerja target menjadi
netcoreapp3.0
- Hapus referensi paket apa pun untuk Microsoft.AspNetCore.App atau Microsoft.AspNetCore.All
- Tingkatkan Microsoft-Spazor non-Blazor apa pun. * Paket referensi ke versi 3.0.0-preview-19075-0444
- Hapus referensi paket apa pun ke Microsoft.AspNetCore.Razor.Design
- Untuk mengaktifkan dukungan JSON, tambahkan referensi paket ke Microsoft.AspNetCore.Mvc.NewtonsoftJson dan perbarui
Startup.ConfigureServices
untuk memanggil services.AddMvc().AddNewtonsoftJson()
- Upgrade referensi paket Microsoft.AspNetCore.Blazor.Server ke 0.8.0-preview-19104-04
- Tambahkan referensi paket ke Microsoft.AspNetCore.Components.Server
- Dalam
Startup.ConfigureServices
menyederhanakan panggilan apa pun ke app.AddResponseCompression
untuk memanggil overload default tanpa menentukan WebAssembly atau data biner sebagai tipe MIME tambahan untuk dikompresi. - Di
Startup.Configure
tambahkan panggilan ke app.UseBlazorDebugging()
setelah panggilan yang ada ke app.UseBlazor<App.Startup>()
- Hapus semua penggunaan namespace
Microsoft.AspNetCore.Blazor.Server
tidak perlu.
Untuk memutakhirkan perpustakaan kelas Blazor ke 0.8.0:
- Ganti referensi paket ke Microsoft.AspNetCore.Components.Browser dan perbarui versi ke 3.0.0-preview-19075 -0444.
- Dalam file proyek untuk perpustakaan, ubah SDK proyek dari "Microsoft.NET.Sdk.Web" menjadi "Microsoft.NET.Sdk.Razor."
Blazor sisi-server sekarang menjadi ASP.NET Core Razor Components di .NET Core 3.0
Seperti yang baru-baru ini diumumkan , Blazor sisi-server sekarang dikirimkan sebagai ASP.NET Core Razor Components di .NET Core 3.0. Kami telah mengintegrasikan model komponen Blazor ke dalam ASP.NET Core 3.0 dan menamainya menjadi Razor Components. Blazor 0.8.0 sekarang dibangun di atas Komponen Razor dan memungkinkan Anda meng-host Komponen Razor di browser di WebAssembly.
Mutakhirkan proyek Blazor sisi-server ke ASP.NET Core Razor Components di .NET Core 3.0
Jika Anda telah bekerja dengan Blazor sisi-server, kami menyarankan untuk meningkatkan untuk menggunakan ASP.NET Core Razor Components di .NET Core 3.0.
Untuk memutakhirkan aplikasi Blazor sisi-server ke Komponen Inti Pisau Cukur ASP.NET:
- Perbarui proyek Blazor sisi klien seperti yang dijelaskan sebelumnya, kecuali ganti referensi skrip ke blazor.server.js dengan components.server.js
- Perbarui aplikasi ASP.NET Core yang menampung Komponen Razor menjadi .NET Core 3.0 seperti yang dijelaskan sebelumnya.
- Dalam proyek server:
- Upgrade referensi paket Microsoft.AspNetCore.Blazor.Server ke 0.8.0-preview-19104-04
- Tambahkan referensi paket ke Microsoft.AspNetCore.Components.Server versi 3.0.0-preview-19075-0444
- Ganti pernyataan penggunaan untuk
Microsoft.AspNetCore.Blazor.Server
dengan Microsoft.AspNetCore.Components.Server
- Ganti
services.AddServerSideBlazor
dengan services.AddRazorComponents
dan app.UseServerSideBlazor
dengan app.UseRazorComponents
. - Dalam metode
Startup.Configure
tambahkan app.UseStaticFiles()
sesaat sebelum memanggil app.UseRazorComponents
. - Pindahkan folder wwwroot dari proyek aplikasi Blazor ke proyek server ASP.NET Core
Beralih antara Komponen Core Razor ASP.NET dan Blazor sisi klien
Terkadang lebih nyaman untuk dapat beralih antara menjalankan Komponen Razor Anda di server (ASP.NET Core Razor Components) dan pada klien (Blazor). Misalnya, Anda dapat berjalan di server selama pengembangan sehingga Anda dapat dengan mudah melakukan debug, tetapi kemudian menerbitkan aplikasi Anda untuk berjalan di klien.
Untuk memperbarui ASP.NET Core host aplikasi Blazor sehingga dapat dijalankan sebagai aplikasi ASP.NET Core Razor Components:
- Pindahkan folder wwwroot dari proyek Blazor sisi klien ke proyek server ASP.NET Core.
- Dalam proyek server:
- Perbarui tag skrip di index.html untuk menunjuk ke components.server.js alih-alih components.webassembly.js .
- Tambahkan panggilan ke
services.AddRazorComponents<Client.Startup>()
dalam metode Startup.ConfigureServices
. - Tambahkan panggilan ke
app.UseStaticFiles()
di metode Startup.Configure
sebelum panggilan ke UseMvc
. - Ganti panggilan ke
UseBlazor
dengan app.UseRazorComponents<Client.Startup>()
- Jika Anda menggunakan injeksi dependensi untuk menyuntikkan
HttpClient
ke dalam komponen Anda, maka Anda harus menambahkan HttpClient
sebagai layanan di metode Startup.ConfigureServices
server Anda.
Tooling untuk proyek Blazor sekarang disertakan dengan Visual Studio 2019
Sebelumnya untuk mendapatkan dukungan perkakas untuk proyek Blazor, Anda perlu menginstal ekstensi Blazor untuk Visual Studio. Dimulai dengan Visual Studio 2019 Preview 2, dukungan tooling untuk Komponen Razor (dan karenanya aplikasi Blazor) sudah termasuk tanpa harus menginstal apa pun. Ekstensi Blazor sekarang hanya diperlukan untuk menginstal templat proyek Blazor di Visual Studio.
Perbaikan runtime
Blazor 0.8.0 mencakup beberapa peningkatan .NET runtime seperti peningkatan kinerja runtime di Chrome dan peningkatan tautan IL. Dalam tolok ukur kinerja kami, kinerja Blazor 0.8.0 di Chrome sekarang sekitar 25% lebih cepat. Anda sekarang dapat juga mereferensikan perpustakaan yang ada seperti Json.NET dari aplikasi Blazor tanpa konfigurasi tautan tambahan:
@functions { WeatherForecast[] forecasts; protected override async Task OnInitAsync() { var json = await Http.GetStringAsync("api/SampleData/WeatherForecasts"); forecasts = Newtonsoft.Json.JsonConvert.DeserializeObject<WeatherForecast[]>(json); } }
Masalah yang diketahui
Ada beberapa masalah yang diketahui dengan rilis ini yang mungkin Anda temui:
- "Tidak mungkin menemukan versi kerangka kerja yang kompatibel. Kerangka kerja yang ditentukan 'Microsoft.NETCore.App', versi '2.0.0' tidak ditemukan. " : Anda mungkin melihat kesalahan ini ketika membangun aplikasi Blazor karena IL linker saat ini membutuhkan .NET Core 2.x untuk berjalan. Untuk mengatasi masalah ini, instal .NET Core 2.2 atau nonaktifkan tautan IL dengan menyetel properti
<BlazorLinkOnBuild>false</BlazorLinkOnBuild>
di file proyek Anda. - "Tidak dapat menghasilkan deps.json, itu mungkin sudah dihasilkan." : Anda mungkin melihat kesalahan ini ketika menjalankan aplikasi Blazor mandiri dan Anda belum memulihkan paket untuk aplikasi .NET Core. Untuk mengatasi masalah ini, buat aplikasi .NET Core (ex
dotnet new console
) lalu jalankan kembali aplikasi Blazor.
Masalah-masalah ini akan diatasi dalam pembaruan Blazor di masa mendatang.
Pembaruan di masa depan
Rilis Blazor ini terutama difokuskan pada pertama mengintegrasikan Komponen Razor ke dalam ASP.NET Core 3.0 dan kemudian membangun kembali Blazor di atas itu. Ke depan, kami berencana untuk mengirimkan pembaruan Blazor dengan setiap pembaruan .NET Core 3.0.
Blazor, dan dukungan untuk menjalankan Komponen Razor di WebAssembly di browser, tidak akan dikirim bersama .NET Core 3.0, tetapi kami terus berupaya mengirim Blazor beberapa waktu kemudian.
Berikan umpan balik
Kami harap Anda menikmati rilis preview Blazor terbaru ini. Seperti rilis sebelumnya, umpan balik Anda penting bagi kami. Jika Anda mengalami masalah atau memiliki pertanyaan saat mencoba Blazor, ajukan masalah pada GitHub . Anda juga dapat mengobrol dengan kami dan komunitas Blazor di Gitter jika Anda buntu atau membagikan bagaimana Blazor bekerja untuk Anda. Setelah Anda mencoba Blazor sebentar, beri tahu kami pendapat Anda dengan mengikuti survei produk kami. Klik tautan survei yang diperlihatkan di halaman beranda aplikasi ketika menjalankan salah satu templat proyek Blazor:

Terima kasih telah mencoba Blazor!