【问题标题】:What determines the specific version of ASP.NET Core and the corresponding assembly versions that are used when running an ASP.NET Core app?是什么决定了 ASP.NET Core 的特定版本以及运行 ASP.NET Core 应用程序时使用的相应程序集版本?
【发布时间】:2022-08-18 18:18:04
【问题描述】:

假设您在 .csproj 文件中使用 <Project Sdk=\"Microsoft.NET.Sdk\">,文档说您应该通过共享框架引用来引用 ASP.NET Core 框架,如下所示:

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

.csproj 文件还将包含目标框架引用。例如,netcoreapp3.1 使用以下目标框架名字对象指定:

<TargetFramework>netcoreapp3.1</TargetFramework>

我不清楚的是具体版本如何ASP.NET 核心被选中。我了解 .NET 运行时版本选择过程已记录在 here 但我不明白ASP.NET Core Web 框架版本被选中。例如,如果我想在针对同一版本的 .NET Core 或 .NET 的两个版本的 ASP.NET Core 之间试验不同的功能怎么办?那怎么区分呢?

  • 或许可以参考官方的doc,用#if {version}分隔TFM依赖的代码。

标签: asp.net-core


【解决方案1】:

当您以 netcoreapp3.1 为目标并且安装了多个 3.1.x 时(例如,您安装了 3.1.153.1.203.1.28),将使用最新版本的 3.1.28。目前没有已知的方法告诉 .csproj 选择特定版本(如果有,请纠正我)。

对于你的问题

如果我想在两者之间试验不同的功能怎么办 针对相同版本的 .NET Core 的 ASP.NET Core 版本 还是.NET?

我能想到的唯一方法是您需要安装几个带有不同点版本的构建框,以便您可以尝试例如3.1.203.1.28

【讨论】:

    猜你喜欢
    • 2017-02-12
    • 2021-09-12
    • 2019-05-09
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2017-01-31
    相关资源
    最近更新 更多