1. 程式人生 > >.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.0</TargetFramework>
    <GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
  </PropertyGroup>

最後 我們需要指定遷入資原始檔的目錄

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

還原下包就基本做好了基礎工作了