.net core 2.1プロジェクトをMicrosoft.Extensions.DependencyInjection.Abstractions 2.1.1などのNugetパッケージの最新バージョンにアップグレードしようとしています。
ただし、これはパッケージ参照Microsoft.NETCore.Appによってブロックされています。「meta」パッケージMicrosoft.NETCore.Appをアップグレードしようとすると、 この質問 のような「Blocked by project」が表示されます。 SDKの新しいバージョンに切り替えることで解決しましたが、ここではオプションではありません... SDKの新しいバージョンはないので(まだ?)。
この回答 も参照しました。更新パッケージ参照を使用して手動で.csprojファイルを編集することにより特定のパッケージをアップグレードしますが、これが意図された方法ではないことを疑います。
どのようにshould今のところ、実際に使用しているパッケージ参照を手動で含めてメタパッケージを削除しましたが、これが目的の方法だとは想像できません。
簡単です。以前にこれの解決策を探していましたが、私がしなければならなかったのは、影響を受けるプロジェクトにこれを追加するだけでした。
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
</PropertyGroup>
私の場合、Microsoft.AspNetCore.App
のVersion
属性が欠落していることが原因でした。
何らかの理由でWebApiプロジェクトが作成されたとき、パッケージは次のように参照されていました。
<PackageReference Include="Microsoft.AspNetCore.App" />
欠落している属性を追加すると、ビルドサーバーでの更新とビルドに関するすべての問題が解決されました。
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
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>
.csprojファイルを編集し、次の行を追加するとうまくいきました。
<PackageReference Include="Microsoft.NetCore.App" Version="2.1.1" />
私の場合、@ Patrickの答えは正しいです。少なくともVS 2017(15.8.9)でSDKファイル「dotnet-sdk-2.1.403-win-x64.exe」がインストールされている場合。
症状:新しいWebプロジェクトを作成すると、最新のSDKがインストールされていてもAspnetcore.Appバージョンが2.1に設定されます。 NuGet Managerを使用してバージョンを変更しようとすると、「プロジェクトがブロックされました」と応答します。
解像度: CSPROJの参照に次のようにVersion = "2.1"を追加します。
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1" />
保存/再オープン後、NuGetマネージャーはSDKの他のバージョンの選択を許可します。 Version = "2.1.5"を直接追加してからCSProjファイルを保存すると、アップグレード/復元が自動的にトリガーされることに注意してください。
ありがとう@パトリック
私にとっては、csprojファイルに次の行が2回ありました
<PackageReference Include="Microsoft.AspNetCore.StaticFiles " Version="2.2.0" />
重複を削除するだけで問題が解決しました