.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,另外我加入了一个测试(有兴趣的可以自己开发)
在这之前,我们需要熟悉中间件的使用,这块前面的文章有说过
首先对Razor视图的支持,我们需要在下面的工程文件中添加工具包以及相关的类库
<PackageReference Include="Microsoft.Extensions.RazorViews.Sources" Version="2.1.1" PrivateAssets="All" />
<DotNetCliToolReference Include="RazorPageGenerator" Version="2.1.0" />
RazorPageGenerator 工具是将我们的的cshtml页面生成后台访问类,还原包后在类库中会出现RazorView的资源文件
然后我们还需要在类库的工程文件中添加如下,这个是为了加载资源文件,如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.</TargetFramework>
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
</PropertyGroup>
最后 我们需要指定迁入资源文件的目录
<ItemGroup>
<EmbeddedResource Include="Resource\**\*" />
</ItemGroup>
还原下包就基本做好了基础工作了