Sharing Code and Resources (Part 2)

 




Cleaning Up The Shared Files

Let's make sure the moved files have matching namespaces:

  • In the MyBlog.Shared project, change the namespace to MyBlog.Shared. Components on the following files-

Components/BootstrapFieldCssClassProvider.cs

Components/ CustomCssClassProvider.cs

  • Remove @using MyBlogServerSide.Components from the following files-

Pages/Admin/BlogPostEdit.razor Pages/Admin/BlogPostList.razor Pages/Admin/CategoryList.razor Pages/Admin/TagList.razor

  • In the MyBlog.Shared project, add the following namespaces to the _Imports.razor file-

@using MyBlog.Shared

@using MyBlog.Shared.Components

We have cleaned up a couple of new projects.

Adding The API

Perform the following steps:

  • In the MyBlogWebAssembly.Client project, open Program.cs and add the following-

builder.Services.AddScoped <IMyBlogApi>;

MyBlogApiClientSide >();

  • Add the following namespaces at the top of the file-

using MyBlog.Data;

using MyBlog.Data.Interfaces;

  • Delete the Pages/Index.razor file (since we will be getting that one from our shared library instead).

  • The same goes for Shared/NavMenu.razor. Delete that file as well.

  • Open App.Razor and, in the router component, add the following as an additional property-  

AdditionalAssemblies="new[] { typeof(MyBlog.Shared.Pages. Index).Assembly}"

  • This is telling the router to look for matches in the current project, but also in the MyBlog.Shared assembly.

  • Add the following namespaces to _Imports.razor-

@using MyBlog.Shared

@using MyBlog.Shared.Shared

  • In the MyBlogWebAssembly.Server project, open the Startup.cs file and replace services.AddControllersWithViews().

  • Set MyBlogWebAssembly.Server as the start-up project by right-clicking the project and selecting Set as Startup Project and pressing Ctrl + F5.

  • You should now see blogposts getting listed and you should be able to navigate to a blog post by clicking the link.

Conclusion

We now have the same Blazor components running in Blazor Server as well as Blazor WebAssembly.

















Comments

Popular posts from this blog

Information Protection Scanner: Resolve Issues with Information Protection Scanner Deployment

How AMI Store & Restore Works?

Create A Store Image Task