.Net Core 在類別庫共用Page及Controller

前言
  • 今天試著將寫好的API 及Razor Page移到共用的類別庫,讓其他專案可以使用,本以為建好一個類別庫後,搬過去就OK,但代誌沒那麼簡單....花了一些功夫才搞定。

使用方式-Controller
1.類別庫的專案檔,加入Framework參考。
  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

2.Web專案,引用類別載的API Controller
builder.Services.AddControllers()
    .AddApplicationPart(typeof(WebApplication2.WebAPI.Controllers.KimController).Assembly);

使用方式-Razor Page
1.類別庫的專案檔:
  • Project Sdk="Microsoft.NET.Sdk.Razor"
  • <AddRazorSupportForMvc>
<Project Sdk="Microsoft.NET.Sdk.Razor">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <AddRazorSupportForMvc>true</AddRazorSupportForMvc>
  </PropertyGroup>
  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
</Project>

其它參考

這個網誌中的熱門文章

IIS 設定只允許特定IP進入