创建一个类库(.Net 标准)。
通过在 Visual Studio 中卸载它来修改 csproj。它必须看起来像这样。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<BlazorLinkOnBuild>False</BlazorLinkOnBuild>
<TargetFramework>netstandard2.0</TargetFramework>
<RunCommand>dotnet</RunCommand>
<RunArguments>blazor serve</RunArguments>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.0-preview2-30230" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Browser" Version="0.1.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="0.1.0" />
<DotNetCliToolReference Include="Microsoft.AspNetCore.Blazor.Cli" Version="0.1.0" />
</ItemGroup>
<ItemGroup>
<Content Include="Pages\**\*.cshtml" />
</ItemGroup>
如下创建文件夹结构。
Pages
|-----> _ViewImports.cshtml
|
|-----> Shared.cshtml
_ViewImports.cshtml
@using System.Net.Http
@using Microsoft.AspNetCore.Blazor
@using Microsoft.AspNetCore.Blazor.Components
@using Microsoft.AspNetCore.Blazor.Layouts
@using Microsoft.AspNetCore.Blazor.Routing
@using MyLibrary
Shared.cshtml
@page "/shared"
<h1>This is a shared page</h1>
@functions {
}
MyLibrary.dll 右击项目并重新构建,此时有一个错误,这不是与主项目自动编译的。
选择主 Web 应用程序并将 MyLibrary 添加到依赖项。
在主 Web 应用的 _ViewImports.cshtml 中添加 using 指令。
@addTagHelper *, MyLibrary
@using System.Net.Http
@using Microsoft.AspNetCore.Blazor
@using Microsoft.AspNetCore.Blazor.Components
@using Microsoft.AspNetCore.Blazor.Layouts
@using Microsoft.AspNetCore.Blazor.Routing
@using WebApplication7
@using WebApplication7.Shared
@using MyLibrary.Pages
现在是时候添加页面链接了
<NavLink href="/shared">
<span class='glyphicon glyphicon-education'></span> Shared Page
</NavLink>
更多信息
在剃刀上:https://blogs.msdn.microsoft.com/webdev/2018/03/01/asp-net-core-2-1-razor-ui-in-class-libraries/
关于 Blazor 问题:https://github.com/aspnet/Blazor/issues/340