Microsoft.AspNetCore.App2.1.1升级"Blocked by project"
Microsoft.AspNetCore.App 2.1.1 upgrade "Blocked by project"
我正在尝试将 .net core 2.1 项目升级到最新版本的 Nuget 包,例如 Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1.
然而,当我尝试升级 "meta" 包 Microsoft.NETCore.App 时,我看到 "Blocked by project" 类似于 .通过切换到更新版本的 SDK 解决了这个问题,但是这不是这里的选项...因为没有更新版本的 SDK(还没有?)。
我还看到 this answer 通过使用更新包参考手动编辑 .csproj 文件来升级特定包,但我怀疑这是这样做的预期方法。
我应该怎么办?现在我只是手动包含了我实际使用的包引用并删除了元包,但我无法想象这是解决这个问题的预期方式。
编辑我的 .csproj 文件并添加以下行对我有用:
<PackageReference Include="Microsoft.NetCore.App" Version="2.1.1" />
简单。早些时候正在寻找解决方案,我所要做的就是将其添加到受影响的项目中。
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
</PropertyGroup>
此外,对于 .NET Core 3 及更高版本,
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
也发布了一个答案,指出某些项目需要 .NET Core App NuGet 包。在 .NET Core 3 之后,您将不再需要它。
正如@Simon_Weaver所说,当没有指定版本并且系统中不存在 2.1.301 SDK 时会发生这种情况
我只安装了 Microsoft.NETCore.App 2.1.1
,无法在 Manage NuGet Packages...
window 中更新到 Microsoft.NETCore.App 2.1.2
,因为它显示 "Blocked by project":
在上图中它显示我已经在使用最新版本,因为我做了以下...
1 - 在此处下载 .NET Core SDK 的最新版本(截至目前为 v2.1.302):
https://www.microsoft.com/net/download
2 - 安装它并在 Visual Studio Package Manager Console
或 Windows PowerShell 中 运行 以下命令。它应该显示以下内容:
PM> dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 2.1.302
Commit: 9048955601
Runtime Environment:
OS Name: Windows
OS Version: 10.0.17134
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk.1.302\
Host (useful for support):
Version: 2.1.2
Commit: 811c3ce6c0
.NET Core SDKs installed:
1.0.0-rc4-004771 [C:\Program Files\dotnet\sdk]
1.0.0 [C:\Program Files\dotnet\sdk]
1.0.3 [C:\Program Files\dotnet\sdk]
1.0.4 [C:\Program Files\dotnet\sdk]
1.1.0 [C:\Program Files\dotnet\sdk]
2.0.2 [C:\Program Files\dotnet\sdk]
2.1.2 [C:\Program Files\dotnet\sdk]
2.1.4 [C:\Program Files\dotnet\sdk]
2.1.100 [C:\Program Files\dotnet\sdk]
2.1.101 [C:\Program Files\dotnet\sdk]
2.1.104 [C:\Program Files\dotnet\sdk]
2.1.105 [C:\Program Files\dotnet\sdk]
2.1.200 [C:\Program Files\dotnet\sdk]
2.1.201 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.300-preview2-008533 [C:\Program Files\dotnet\sdk]
2.1.300-rc1-008673 [C:\Program Files\dotnet\sdk]
2.1.300 [C:\Program Files\dotnet\sdk]
2.1.301 [C:\Program Files\dotnet\sdk]
2.1.302 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.0-preview2-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0-preview2-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0-preview2-26406-04 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0-rc1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
PM>
在我的例子中,这是由于 Microsoft.AspNetCore.App
上缺少 Version
属性造成的。
出于某种原因,当创建 WebApi 项目时,包被引用如下:
<PackageReference Include="Microsoft.AspNetCore.App" />
添加缺少的属性解决了构建服务器上更新和构建的所有问题。
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
就我而言,@Patrick 的回答是正确的。至少对于安装了 SDK 文件 "dotnet-sdk-2.1.403-win-x64.exe" 的 VS 2017 (15.8.9)。
症状:即使安装了最新的 SDK,创建新的 Web 项目也会将 Aspnetcore.App 版本设置为 2.1。尝试通过 NuGet 管理器更改版本会响应 'project blocked'。
解决方案: 将 Version="2.1" 添加到 CSPROJ 中的引用,如下所示:
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1" />
save/reopen之后,NuGet 管理器将允许选择其他版本的 SDK。请注意,直接添加 Version="2.1.5" 然后保存 CSProj 文件应该会自动触发 upgrade/restore。
谢谢@Patrick
对我来说,我在 csproj 文件中有两次以下行
<PackageReference Include="Microsoft.AspNetCore.StaticFiles " Version="2.2.0" />
只需删除重复项即可解决问题
- 右键单击您的项目
- 点击"Properties"
- 相应地更改"Target Framework"
- 保存并关闭属性 window。
这将自动解决问题,否则您可以去 Nuget 自己升级程序集。
您可以使用程序包管理器控制台和命令进行安装。
例如:
Install-Package Microsoft.AspNetCore.App -Version 2.2.8
我正在尝试将 .net core 2.1 项目升级到最新版本的 Nuget 包,例如 Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1.
然而,当我尝试升级 "meta" 包 Microsoft.NETCore.App 时,我看到 "Blocked by project" 类似于
我还看到 this answer 通过使用更新包参考手动编辑 .csproj 文件来升级特定包,但我怀疑这是这样做的预期方法。
我应该怎么办?现在我只是手动包含了我实际使用的包引用并删除了元包,但我无法想象这是解决这个问题的预期方式。
编辑我的 .csproj 文件并添加以下行对我有用:
<PackageReference Include="Microsoft.NetCore.App" Version="2.1.1" />
简单。早些时候正在寻找解决方案,我所要做的就是将其添加到受影响的项目中。
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
</PropertyGroup>
此外,对于 .NET Core 3 及更高版本,
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
正如@Simon_Weaver所说,当没有指定版本并且系统中不存在 2.1.301 SDK 时会发生这种情况
我只安装了 Microsoft.NETCore.App 2.1.1
,无法在 Manage NuGet Packages...
window 中更新到 Microsoft.NETCore.App 2.1.2
,因为它显示 "Blocked by project":
在上图中它显示我已经在使用最新版本,因为我做了以下...
1 - 在此处下载 .NET Core SDK 的最新版本(截至目前为 v2.1.302):
https://www.microsoft.com/net/download
2 - 安装它并在 Visual Studio Package Manager Console
或 Windows PowerShell 中 运行 以下命令。它应该显示以下内容:
PM> dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 2.1.302
Commit: 9048955601
Runtime Environment:
OS Name: Windows
OS Version: 10.0.17134
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk.1.302\
Host (useful for support):
Version: 2.1.2
Commit: 811c3ce6c0
.NET Core SDKs installed:
1.0.0-rc4-004771 [C:\Program Files\dotnet\sdk]
1.0.0 [C:\Program Files\dotnet\sdk]
1.0.3 [C:\Program Files\dotnet\sdk]
1.0.4 [C:\Program Files\dotnet\sdk]
1.1.0 [C:\Program Files\dotnet\sdk]
2.0.2 [C:\Program Files\dotnet\sdk]
2.1.2 [C:\Program Files\dotnet\sdk]
2.1.4 [C:\Program Files\dotnet\sdk]
2.1.100 [C:\Program Files\dotnet\sdk]
2.1.101 [C:\Program Files\dotnet\sdk]
2.1.104 [C:\Program Files\dotnet\sdk]
2.1.105 [C:\Program Files\dotnet\sdk]
2.1.200 [C:\Program Files\dotnet\sdk]
2.1.201 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.300-preview2-008533 [C:\Program Files\dotnet\sdk]
2.1.300-rc1-008673 [C:\Program Files\dotnet\sdk]
2.1.300 [C:\Program Files\dotnet\sdk]
2.1.301 [C:\Program Files\dotnet\sdk]
2.1.302 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.0-preview2-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0-preview2-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0-preview2-26406-04 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0-rc1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
PM>
在我的例子中,这是由于 Microsoft.AspNetCore.App
上缺少 Version
属性造成的。
出于某种原因,当创建 WebApi 项目时,包被引用如下:
<PackageReference Include="Microsoft.AspNetCore.App" />
添加缺少的属性解决了构建服务器上更新和构建的所有问题。
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
就我而言,@Patrick 的回答是正确的。至少对于安装了 SDK 文件 "dotnet-sdk-2.1.403-win-x64.exe" 的 VS 2017 (15.8.9)。
症状:即使安装了最新的 SDK,创建新的 Web 项目也会将 Aspnetcore.App 版本设置为 2.1。尝试通过 NuGet 管理器更改版本会响应 'project blocked'。
解决方案: 将 Version="2.1" 添加到 CSPROJ 中的引用,如下所示:
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1" />
save/reopen之后,NuGet 管理器将允许选择其他版本的 SDK。请注意,直接添加 Version="2.1.5" 然后保存 CSProj 文件应该会自动触发 upgrade/restore。
谢谢@Patrick
对我来说,我在 csproj 文件中有两次以下行
<PackageReference Include="Microsoft.AspNetCore.StaticFiles " Version="2.2.0" />
只需删除重复项即可解决问题
- 右键单击您的项目
- 点击"Properties"
- 相应地更改"Target Framework"
- 保存并关闭属性 window。 这将自动解决问题,否则您可以去 Nuget 自己升级程序集。
您可以使用程序包管理器控制台和命令进行安装。 例如:
Install-Package Microsoft.AspNetCore.App -Version 2.2.8