.NetCore 下開發獨立的(RPL)含有介面的元件包 (一)準備工作
阿新 • • 發佈:2018-12-28
相信很多人都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>
還原下包就基本做好了基礎工作了