【问题标题】:Visual Studio 2017 project referencing old version of Microsoft.AspNetCore.App引用旧版本 Microsoft.AspNetCore.App 的 Visual Studio 2017 项目
【发布时间】:2019-02-01 07:31:35
【问题描述】:

我使用的是 .Net Core 2.1.1,最近将 SDK 更新为 2.1.401(.Net Core Runtime 2.1.3)。当我创建一个新项目时,Microsoft.AspNetCore.App 在 Dependencies > SDK 下的版本仍然是 2.1.1。查看 Dependencies > NuGet 的属性,该包是从 "C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.app\2.1.1"

引用的

我尝试使用 NuGet 包管理器安装包 2.1.3,它从 NuGet 下载了所有依赖项,尽管我的机器上已经安装了 2.1.3。

如何强制现有/新项目使用 SDK 安装中的最新版本包?

【问题讨论】:

标签: visual-studio asp.net-core .net-core


【解决方案1】:

您不需要在项目中手动更新Microsoft.AspNetCore.App 的版本。 2.1.1 完全没问题。您的应用程序将在机器上安装的最新 2.1.* 框架上运行。

如果您发布一个独立的应用程序,该工具将在构建时自动切换到最新的已知版本 2.1.*,仅用于独立构建。 (-r win-x64 参数)

这对于 2.2 或 3.0 版本可能会或可能不会改变,阅读/关注this GitHub issue and thread 了解更多信息。

【讨论】:

  • 感谢分享讨论链接。我接受我可以使用 2.1.1,但我不明白为什么当我明确指定包的版本时,VS 会从 NuGetFallBack 文件夹而不是 SDK 引用包。顺便说一句,从讨论中我了解到,在 .csproj 中提供显式版本的包是目前的方法。我说的对吗?
  • 现在我认为最好完全删除 2.1 的 Version="" 属性/元数据,看看它们是否在 2.2 或 3.0 中实现了更改(更有可能在 3.0 中)。
  • “共享框架”的想法是运行时提供实现,但您只能根据合同进行编译。合同不应该(不得)在补丁版本之间发生变化,并且您的应用程序将在最新的可用补丁上运行。仅对于自包含应用程序,引用很重要(除了编译时引用,它会拉取实现)但现在可以再次通过 SDK 管理(“最新的已知补丁版本”)
  • 现在很明显,这是一个正在与 AspNet 讨论的问题,决定是否使用 Version 已变得主观。我同意你的观点,现在更新项目并不重要,因此将删除版本。但是,任何寻找自包含部署的人都可能不得不考虑使用版本属性。感谢您的澄清!
【解决方案2】:

这是一个错误,因为它已经被报告,但现在这可能是解决方案。

在ProjectName.csproj 文件中:

<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
</PropertyGroup>

<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
</ItemGroup>

【讨论】:

  • 如果你有问题ID,你能分享一下吗?谢谢
  • 将 RuntimeFrameworkVersion 设置为 2.1.3 将 Microsoft.NETCore.App 升级到 2.1.3(在项目重新加载时)。但是 Microsoft.AspNetCore.App 仍然是 2.1.1 并且在项目文件中将其设置为 2.1.3 会使 NuGet 下载 2.1.3。
  • @PraveenRai 好的,让我检查一下!
  • 可能是你没有设置这个` `。我检查过。它在我身边有效。
  • 设置 version=2.1.3 没有从 sdk 中选择包,而是从 Nuget 下载,这不应该发生。
猜你喜欢
  • 1970-01-01
  • 2017-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-14
  • 2022-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多