本文為原創文章.首發:http://www.zyiz.net/
在 ASP.NET Core 3.0+ web 項目中已經不需要在 .csproj 中添加對 Microsoft.AspNetCore.App 的引用
<PackageReference Include="Microsoft.AspNetCore.App" />
但是在 .NET Core 3.0+ 類庫項目中如果不引用 Microsoft.AspNetCore.App ,就無法使用 ASP.NET Core 3.0 的程序集。在類庫項目的 .csproj 中將 <Project Sdk="Microsoft.NET.Sdk"> 改為 <Project Sdk="Microsoft.NET.Sdk.Web"> 可以解決這個問題,但是會出現新的問題,build 時會出現下面的錯誤提示:
Program does not contain a static 'Main' method suitable for an entry point
請問如何解決?
在 github 上找到了答案 Using Microsoft.NET.Sdk.Web on a class library prevents the app to start
原來使用 Microsoft.NET.Sdk.Web 時 OutputType 默認會被設置為 Exe ,改為 Library 就能解決
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<OutputType>Library</OutputType>
</PropertyGroup>
</Project>
雙擊 類庫的項目名稱:修改如下:

