Sdk Microsoft.AspNetCore.App 2.1.1升级“;“被项目阻止”;
我正在尝试将.net core 2.1项目升级到Nuget软件包的最新版本,如Microsoft.Extensions.DependencyInjection.Abstractations 2.1.1 但是,当我尝试升级“meta”包Microsoft.NETCore.App时,它被包引用Microsoft.NETCore.App阻止,我看到“被项目阻止”类似于。这是通过切换到SDK的更新版本来解决的,但是这不是这里的选项。。。因为现在还没有更新版本的SDK 我还看到了通过使用更新包引用手动编辑.csproj文件来升级特定包的方法,但我怀疑这是实现此目的的预期方法Sdk Microsoft.AspNetCore.App 2.1.1升级“;“被项目阻止”;,sdk,.net-core,nuget,updates,nuget-package,Sdk,.net Core,Nuget,Updates,Nuget Package,我正在尝试将.net core 2.1项目升级到Nuget软件包的最新版本,如Microsoft.Extensions.DependencyInjection.Abstractations 2.1.1 但是,当我尝试升级“meta”包Microsoft.NETCore.App时,它被包引用Microsoft.NETCore.App阻止,我看到“被项目阻止”类似于。这是通过切换到SDK的更新版本来解决的,但是这不是这里的选项。。。因为现在还没有更新版本的SDK 我还看到了通过使用更新包引用手动编辑
我该怎么做?目前,我只是手动添加了我实际使用的包引用,并删除了元包,但我无法想象这是实现此目的的预期方式。编辑我的.csproj文件并添加以下行对我有效:
<PackageReference Include="Microsoft.NetCore.App" Version="2.1.1" />
简单。我之前一直在寻找一个解决方案,我所要做的就是把它添加到受影响的项目中
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
</PropertyGroup>
2.1.1
此外,对于.NET Core 3及更高版本
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
netcoreapp3.1
还有一个回答指出,某些项目需要.NET核心应用程序NuGet包。在.NET Core 3之后,您将不再需要它。正如@Simon_Weaver所说,如果没有指定版本,并且系统中不存在2.1.301 SDK,则会发生这种情况。我只安装了
Microsoft.NETCore.App 2.1.1
窗口,无法更新到Microsoft.NETCore.App 2.1.2
,因为它显示“被项目阻止”:
在上面的图片中,它显示我已经在使用最新版本,因为我做了以下操作
1-在此处下载.NET Core SDK的最新版本(目前为v2.1.302):
2-在Visual Studio软件包管理器控制台
或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\2.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" />
添加缺少的属性解决了生成服务器上更新和生成的所有问题
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
就我而言,@Patrick的回答是正确的。至少针对VS 2017(15.8.9),安装了SDK文件“dotnet-SDK-2.1.403-win-x64.exe” 症状:创建新的Web项目会将Aspnetcore.App版本设置为2.1,即使安装了最新的SDK。试图通过NuGet Manager更改版本时,响应为“project blocked” 解决方案:向CSPROJ中的参考添加Version=“2.1”,如下所示:
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1" />
保存/重新打开后,NuGet manager将允许选择SDK的其他版本。请注意,直接添加Version=“2.1.5”,然后保存CSProj文件将自动触发升级/恢复
谢谢@Patrick,我在csproj文件中两次看到了下面这句话
<PackageReference Include="Microsoft.AspNetCore.StaticFiles " Version="2.2.0" />
只需删除副本即可解决问题
可能的相关副本:整个项目被设计阻止。Asp.NET包需要匹配的SDK才能正确运行。更新它们oob不是一个选项。在执行此操作之前,您可能希望阅读此>github.com/aspnet/AspNetCore/issues/9097#issuecomment-517922943中的信息。。。和来自的第4节(对于某些软件包,更新按钮被禁用,并显示一条消息,说明它“被SDK隐式引用”(或“自动引用”)。此消息表示该包是更大框架或SDK的一部分,不应单独更新…这适用于以下常用包:Microsoft.AspNetCore.All Microsoft.AspNetCore.App Microsoft.NETCore.App NETStandard.Library)您的评论可能会有所帮助,但您可能希望阅读发布日期。尤其是今年;)我已经为一个新项目没有2.1可用性的问题争论了好几个小时了。决定尝试使用这种方法。不走运。错误如下:“Microsoft.NETCore.App”的PackageReference包含在您的项目中。此包由.NET SDK隐式引用,您通常不需要从项目中引用它。有关详细信息,请参阅TipShare C:\Program Files\dotnet\sdk\2.1.201\sdk\Microsoft.NET.sdk\build\Microsoft.NET.sdk.DefaultItems.targets 198。我尝试了此操作。请确保除了sdk之外,还安装了2.1.1运行时。运行
dotnet--info
,您应该会看到Microsoft.NETCore.App 2.1.1[C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
如果您安装了2.1.1运行时,这是有效的,而且据我所知,这是让它工作的唯一方法(今天)。大家应该在否决投票前核实信息。我同意,除了上面Nicholas的答案之外,这是(或应该是)必需的…不要忘记.net 2.1引导版本是3.7,而.net 2.2引导版本是4.3。这对我来说很有效,但请注意,一旦创建了新项目,它不包含提到的配置代码。因此,仍然引用2.1.0库,而不是2.1.1。这是Visual Studio中的一个bug,因为它将针对安装的最新SDK吗?@Megrez7 Am实际上面临着这个问题。。如果我有一些确认,我会向您报告我已经安装了2.1.302 SDK,虽然这“强制”了包到指定的版本,但这对我来说似乎是一个bug,因为项目应该这样做