.NET Core 3.0或3.1 类库项目中引用 Microsoft.AspNetCore.App

Posted puzi0315

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET Core 3.0或3.1 类库项目中引用 Microsoft.AspNetCore.App相关的知识,希望对你有一定的参考价值。

 在 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>

 

双击 类库的项目名称:修改如下:

技术图片

以上是关于.NET Core 3.0或3.1 类库项目中引用 Microsoft.AspNetCore.App的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .NET Core 类库中引用 Visual Studio 共享项目

无法在通用 Windows 或 WPF 应用程序中引用 .NET Core 类库

.NET Core 控制台项目中的Nuget打包类库及引用

如何在 .NET Core 3.0 SDK 上构建多目标 .NET 5 和 .NET Core 3.1

.Net Core 引用本地类库dll 发包方式

.NET 和 .NET Core 项目的单一类库项目