繁体   English   中英

将 net5.0.csproj 更新到新的运行时

[英]Updating net5.0 .csproj to new Runtime

我的 current.csproj 具有以下项目统计信息:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <UserSecretsId>aspnet-XYZ</UserSecretsId>
  </PropertyGroup>

我的ItemGroup中还有几个条目指示"Version="5.0.10"

由于我正在升级,我卸载了旧的运行时/框架和

dotnet --list-runtimes

显示:

Microsoft.AspNetCore.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

手动更改项目条目未成功。

有没有办法将此项目指向新的运行时安装?

视觉工作室

如果您使用的是 Visual Studio,您需要做的就是:
solution explorer管理器中右键单击您的项目,属性 > 应用程序 > 目标框架,然后选择.NET 6.0 (目前,这仅适用于 VS 2022)

要更新您已安装的所有软件包:
solution explorer管理器中右键单击您的项目, Manage NuGet packages... > Update选项卡 > 检查Select all packages > 单击Update按钮。

手动

您需要做的就是更改.csproj文件,例如:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    ...
  </PropertyGroup>
  ...
</Project>

更多信息从 ASP.NET 核心 5.0 迁移到 6.0

要更新您已安装的所有软件包,请使用此PowerShell脚本:

$regex = 'PackageReference Include="([^"]*)" Version="([^"]*)"'

ForEach ($file in get-childitem . -recurse | where {$_.extension -like "*proj"})
{
    $packages = Get-Content $file.FullName |
        select-string -pattern $regex -AllMatches | 
        ForEach-Object {$_.Matches} | 
        ForEach-Object {$_.Groups[1].Value.ToString()}| 
        sort -Unique
    
    ForEach ($package in $packages)
    {
        write-host "Update $file package :$package"  -foreground 'magenta'
        $fullName = $file.FullName
        iex "dotnet add $fullName package $package"
    }
}

基于Rolf Wessels 的回答

但我建议使用dotnet-outdated工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM