将控制器添加到.Net Core 3.1的Razor组件库中



我正在迁移到MVC Core 3.1,谢天谢地,在我不得不迁移RCL之前,这并没有那么难。

在RCL中,我包括一些常见的控制器,为了使用Controller基类和IActionResult类型,我使用了NugetMicrosoft.AspNetCore.Mvc.Abstraction,但它仅适用于.net Core 2.2。

为什么我在Nuget存储库中找不到更新的3.1版本?

当我导航到IActionResult的定义时,我会看到一个版本为3.1.0的文件,所以我认为应该有一种方法来引用它,而不是2.2。

该项目基于NetStandard2.0,我手动将其更改为netcoreapp3.1,并添加对Microsoft.AspNetCore.App的引用。

<FrameworkReference Include="Microsoft.AspNetCore.App" />

能够在3.1 上使用Controllers和MVC框架的任何其他功能

  • 创建RCL项目
  • 编辑.csProj文件并进行适当的更改,使其看起来像:
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RazorLangVersion>3.0</RazorLangVersion>
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Components" Version="3.1.3" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="3.1.3" />
</ItemGroup>
</Project>

相关内容

  • 没有找到相关文章

最新更新