我正在尝试将.net core 2.1项目升级到最新版本的Nuget软件包,例如Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1。
但是,当我尝试升级“元”包Microsoft.NETCore.App时,此包参考Microsoft.NETCore.App阻止了该操作,但我看到的是“受项目阻止”,类似于this question。可以通过切换到较新版本的SDK来解决,但是这里不是一个选择……因为还没有较新版本的SDK(还可以吗?)。
我还看到this answer通过使用Update Package参考来手动编辑.csproj文件来升级特定的软件包,但我怀疑这样做是否是预期的方法。
我应该如何 现在,我只是手动添加了我实际使用的程序包引用,并删除了meta程序包,但我无法想象这是实现此目的的预期方法。
答案 0 :(得分:31)
容易。我一直在寻找解决方案,我要做的就是将其添加到受影响的项目中。
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
</PropertyGroup>
答案 1 :(得分:24)
在我的情况下,这是由于缺少Version
上的Microsoft.AspNetCore.App
属性引起的。
由于某些原因,在创建WebApi项目时,该包的引用如下:
<PackageReference Include="Microsoft.AspNetCore.App" />
添加缺少的属性可以解决所有有关更新和在构建服务器上进行构建的问题。
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
答案 2 :(得分:8)
我仅安装了Microsoft.NETCore.App 2.1.1
,并且在Microsoft.NETCore.App 2.1.2
窗口中无法更新为Manage NuGet Packages...
,因为它显示“被项目阻止”:
上图中显示我已经在使用最新版本,因为我执行了以下操作...
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\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>
答案 3 :(得分:6)
编辑我的.csproj文件并添加以下行对我有用:
<PackageReference Include="Microsoft.NetCore.App" Version="2.1.1" />
答案 4 :(得分:1)
就我而言,@ Patrick的回答是正确的。至少对于装有SDK文件“ dotnet-sdk-2.1.403-win-x64.exe”的VS 2017(15.8.9)。
症状:即使安装了最新的SDK,创建一个新的Web项目也会将Aspnetcore.App版本设置为2.1。尝试通过NuGet Manager更改版本时会显示“项目已阻止”。
解决方案:将Version =“ 2.1”添加到CSPROJ中的引用中,如下所示:
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1" />
保存/重新打开后,NuGet管理器将允许选择其他版本的SDK。请注意,直接添加Version =“ 2.1.5”然后保存CSProj文件应该会自动触发升级/恢复。
感谢@Patrick
答案 5 :(得分:0)
对于我来说,我在csproj文件中有两次以下行
<PackageReference Include="Microsoft.AspNetCore.StaticFiles " Version="2.2.0" />
只需删除重复项即可解决问题
答案 6 :(得分:0)
答案 7 :(得分:-2)
正如@Simon_Weaver所说,当未指定版本且系统中没有2.1.301 SDK时,就会发生这种情况