我已经在.NET 7中创建了一个最小的Web API,我正在尝试将一些代码提取到一个单独的程序集中。这段代码使用的是IResult,它是在.NET 7中引入的。如何从常规类库引用IResult?根据MSDN,该类型应该在NuGet Microsoft.AspNetCore.App.Ref v7.0.3中的程序集Microsoft.AspNetCore.Http.Abstractions.dll中,但这是一个不能被程序集直接引用的平台组件。
IResult
Microsoft.AspNetCore.App.Ref
Microsoft.AspNetCore.Http.Abstractions.dll
umuewwlo1#
对于使用Microsoft.NET.Sdk的类库,您需要添加FrameworkReference。
Microsoft.NET.Sdk
FrameworkReference
<FrameworkReference Include="Microsoft.AspNetCore.App" />
参见文档。从.NET Core 3.0开始,使用Microsoft.NET.Sdk.Web MSBuild SDK的项目隐式引用共享框架。使用Microsoft.NET.Sdk或Microsoft.NET.Sdk.Razor SDK的项目必须引用ASP.NET Core才能在共享框架中使用ASP.NET Core API。您的.csproj文件可能如下所示。
Microsoft.NET.Sdk.Web
Microsoft.NET.Sdk.Razor
.csproj
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> </PropertyGroup> <ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup> </Project>
1条答案
按热度按时间umuewwlo1#
对于使用
Microsoft.NET.Sdk
的类库,您需要添加FrameworkReference
。参见文档。
从.NET Core 3.0开始,使用
Microsoft.NET.Sdk.Web
MSBuild SDK的项目隐式引用共享框架。使用Microsoft.NET.Sdk
或Microsoft.NET.Sdk.Razor
SDK的项目必须引用ASP.NET Core才能在共享框架中使用ASP.NET Core API。您的
.csproj
文件可能如下所示。