【问题标题】:Microsoft.AspNetCore.Mvc dependency and ASP.NET Core 3Microsoft.AspNetCore.Mvc 依赖和 ASP.NET Core 3
【发布时间】:2019-09-26 14:47:44
【问题描述】:

我们现有的库依赖于 MVC,例如提供自定义操作过滤器。这些库作为 Nuget 发布。

到目前为止,我们只是从库中引用了Microsoft.AspNetCore.Mvc,以便我们可以使用各自的类型(例如ActionFilterAttribute)。但从 ASP.NET Core 3 开始,微软停止将许多 Nuget 包发布为indicated by the upgrade guide,其中包括Microsoft.AspNetCore.Mvc

依赖 MVC 的库应该如何引用 MVC,从 ASP.NET Core 3 开始?

【问题讨论】:

    标签: .net-core-3.0 asp.net-core-3.0


    【解决方案1】:

    升级指南中的library multi-targeting 部分对此进行了概述:

    该库必须同时面向 .NET Core 3 和 .NET Standard 2.0,并使用条件来使用 PackageReferenceFrameworkReference

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <TargetFrameworks>netcoreapp3.0;netstandard2.0</TargetFrameworks>
      </PropertyGroup>
    
      <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0'">
        <FrameworkReference Include="Microsoft.AspNetCore.App" />
      </ItemGroup>
    
      <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
        <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.2" />
      </ItemGroup>
    </Project>
    
    【解决方案2】:

    根据您提供的链接中的文档,您可以定位Microsoft.NET.Sdk.Web SDK,它将隐式引用Microsoft.AspNetCore.App 共享框架:

    Microsoft.NET.Sdk.Web SDK 为目标的项目隐式引用Microsoft.AspNetCore.App 框架。

    <Project Sdk="Microsoft.NET.Sdk.Web">
      <PropertyGroup>
        <TargetFramework>netcoreapp3.0</TargetFramework>
      </PropertyGroup>
        ...
    </Project>
    

    或明确用于其他 SDK:

    Microsoft.NET.SdkMicrosoft.NET.Sdk.Razor SDK 为目标的项目应将显式FrameworkReference 添加到Microsoft.AspNetCore.App

    <Project Sdk="Microsoft.NET.Sdk.Razor">
      <PropertyGroup>
        <TargetFramework>netcoreapp3.0</TargetFramework>
      </PropertyGroup>
    
      <ItemGroup>
        <FrameworkReference Include="Microsoft.AspNetCore.App" />
      </ItemGroup>
        ...
    </Project>
    

    您依赖的某些库是否未包含在Microsoft.AspNetCore.App 共享框架中?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      相关资源
      最近更新 更多