開發一個帶UI的庫(asp.net core 3.0)

在GitHub上有個項目,原本是做爲本身研究學習.net core的Demo,沒想到不少同窗在看,還給了不少星,因此以爲應該升成3.0,整理一下,寫成博分享給學習.net core的同窗們。css

項目名稱:Asp.NetCoreExperiment前端

項目地址:https://github.com/axzxs2001/Asp.NetCoreExperimentgit

 

當你想用asp.net core作一個三方庫,不但有api實現功能,還但願能用UI來展示或設置你的功能時,這個blog或許對你有用。github

用Demo說話,源碼GiuHub庫:https://github.com/axzxs2001/Asp.NetCoreExperiment/tree/master/Asp.NetCoreExperiment/EmbeddedResourcesweb

建立兩(或三個)個項目api

一個是asp.net core web mvc項目(也可打包,發佈到nuget上,供他人使用):mvc

一、就是帶UI的庫,由於做爲一個庫項目,因此這個項目的Program.cs和Starup.cs就沒有做用了,其實只留 下Controller和Views就行了app

二、wwwroot中的前端資源(js,css)仍是須要存在的(只保留項目中View用到的前端資源文件就能夠),再把view中引用的前端資源的路徑加上wwwrootasp.net

三、同時項目「輸出類型」改成「類庫」,接下來,把views中的文件,wwwroot中的文件的屬性從「內容」改爲「嵌入的資源」;ide

四、同時對Controller中的Action使用對應的HttpGet,HttpPost,HttpPut,HttpDelete等請求謂詞和準確的請求url

 

另外一個項目是API或Web MVC項目,只須要Startup.cs中引入

 1        public void ConfigureServices(IServiceCollection services)  2  {  3 services.AddControllersWithViews().AddRazorRuntimeCompilation(option =>  4  {  5 option.FileProviders.Add(new EmbeddedFileProvider(typeof(EmbeddedResourcesPage.Controllers.PageController).GetTypeInfo().Assembly));  6  });  7  }  8         public void Configure(IApplicationBuilder app, IWebHostEnvironment env)  9  { 10 app.UseStaticFiles(new StaticFileOptions 11  { 12 FileProvider = new EmbeddedFileProvider(typeof(EmbeddedResourcesPage.Controllers.PageController).GetTypeInfo().Assembly) 13  }); 14 …… 15         }
相關文章
相關標籤/搜索