There are a few steps to make to show a page from a Razor class library in a Blazor project:
Create a class library (there exists a template)
Add a page to the class library
Add the project reference to your blazor project (Rightclick on dependencies ...)
In the Blazor project add the assembly of the Razor component library to the Router component (in this example the name of the Razor component library is GeneralUi). You can do that by setting the AdditionalAssemblies parameter:
<Router AppAssembly="@typeof(Program).Assembly"
AdditionalAssemblies="new[] { typeof(GeneralUi.About).Assembly}">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
</Found>
<NotFound>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
Here it is important that you just take a page from the Razor component library (doesn't matter which one you take). With that step you are able to route to pages from the Razor component library.
If you just want to use components (no pages) you can drop step 4. Then you just need to include the component in another component. If you don't want to provide the full namespace there just add the namespace in the _Imports.razor file of your Blazor project.
If you have styles defined in you Razor class library you need to add these styles (files) to the Blazor project. In Blazor WebAssembly you can do this in the index.html file just by adding:
<link href="_content/GeneralUi/css/styles.css" rel="stylesheet" />
The _content is a naming convention and it is needed to tell that the style file is from another assembly/project. In this example, the style file styles.css comes from the GeneralUi project, and there it is placed in the css folder under the wwwroot folder (in the wwwroot folder are all static assets of a project)