من از .NET5 RC2 استفاده میکنم، شاید بعدا یک template مخصوص این کار بسازن. به هر حال، برم سر اصل مطلب ابتدا یک Razor Class Library می سازیم. دقت کنید که هنگام ساخت تیک گزینه Support pages and views بزنید.
بعد باید وارد فایل csproj کتابخانه ای که ساختید بروید و خط زیر را پاک کنید(دابل کلیک روی نام کتابخانه ای که ساختید):
<FrameworkReference Include="Microsoft.AspNetCore.App" />
بجاش خط زیر رو قرار می دهیم:
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.0-rc.2.20475.17" />
فایل _Imports.razor برای راحتی کار قرار میدهیم(می توانید بجای استفاده از این فایل namespace ها رو درون خود کامپوننت ها قرار دهیم. بنظر من قرار دادن namespace ها درون خود کامپوننت ها بهترم هست):
@using System.Net.Http @using System.Net.Http.Json @using Microsoft.AspNetCore.Components.Forms @using Microsoft.AspNetCore.Components.Routing @using Microsoft.AspNetCore.Components.Web @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.AspNetCore.Components.WebAssembly.Http @using Microsoft.JSInterop
تمام ! حالا کتابخانه بدون هیچ خطایی به پروژه Blazor خود اضافه کنید.
البته میتوانید بجای
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.0-rc.2.20475.17" />
از خط زیر نیز استفاده کنید:
<PackageReference Include="Microsoft.AspNetCore.Components" Version="5.0.0-rc.2.20475.17" />
در این صورت فایل _Imports.razor هم سبکتر میشود:
@using System.Net.Http @using System.Net.Http.Json @using Microsoft.AspNetCore.Components