.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作

.NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务

.NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面

.NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤

.NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理

.NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能

相信很多人都nuget包,一般自己写类库打包就ok了,但是还有一种nuget包带有界面形式,如Hangfire、Cap 等带有Dashboard类型的nuget包,

下面我们就来具体实现一个简单的RPL包

加入我们要开发一个IdentityServer4.AdminChina,我建立一个2.0的标准库 IdentityServer4.AdminChina,另外我加入了一个测试(有兴趣的可以自己开发)

.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作

在这之前,我们需要熟悉中间件的使用,这块前面的文章有说过

首先对Razor视图的支持,我们需要在下面的工程文件中添加工具包以及相关的类库

.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作

<PackageReference Include="Microsoft.Extensions.RazorViews.Sources" Version="2.1.1" PrivateAssets="All" />
    <DotNetCliToolReference Include="RazorPageGenerator" Version="2.1.0" />

RazorPageGenerator 工具是将我们的的cshtml页面生成后台访问类,还原包后在类库中会出现RazorView的资源文件

.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作

然后我们还需要在类库的工程文件中添加如下,这个是为了加载资源文件,如js css等文件,防止被应用后资源文件找不到的情况,因为资源文件是包含在类库中的,而.netcore中资源文件默认是指向了wwwroot文件夹下

 <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="2.1.1" />
    <PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="2.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.1.1" />

其次我们还需要设置下 生成嵌入式文件 GenerateEmbeddedFilesManifest:true

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
  </PropertyGroup>

最后 我们需要指定迁入资源文件的目录

<ItemGroup>
    <EmbeddedResource Include="Resource\**\*" />
  </ItemGroup>

还原下包就基本做好了基础工作了

 

分类:

技术点:

相关文章: