web-dev-qa-db-ja.com

このバージョンのMicrosoft.AspNetCore.Allは、netcoreapp2.1ターゲットフレームワークとのみ互換性があります。

2.0から.NET Core 2.1にアップグレードした後、Webサーバーにアプリケーションを公開しようとすると、次のメッセージが表示されます。「このバージョンのMicrosoft.AspNetCore.Allは、netcoreapp2.1ターゲットフレームワークとのみ互換性があります。 1またはnetcoreapp2.0と互換性のあるMicrosoft.AspNetCore.Allのバージョンを選択します。」

私の開発マシンでは問題なく動作します。

これが私のプロジェクトファイルです。

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0" />
    <PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
</Project>

this を見ましたが、問題ではないようです。 CodeGeneration.Toolsのプレリリース2.1バージョンも試しましたが、インストールできませんでした。

編集:サーバーにdotnet 2.1をインストールしました。

サーバーに表示されるものは次のとおりです。

D:\>dotnet --info
Host (useful for support):
  Version: 2.1.0
  Commit:  caa7b7e2ba

.NET Core SDKs installed:
  No SDKs were found.

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.6 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
47
Jim S

私は同じ問題を抱えていましたが、正しいターゲット環境の公開プロファイルファイル(.pubxml)を更新していませんでした

< TargetFramework>netcoreapp2.1< /TargetFramework>

そして、以前の回答については、行に

< DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" />

陳腐化のため2.1バージョンで削除され、現在含まれています

72
joakimja

Joakimjaの投稿をフォローするには、VS2017 IDE経由で.pubxmlファイルを更新することもできます。プロジェクトを右クリックして[公開]を選択し、[トラブルシューティング情報]行の[構成]をクリックし、[設定]タブに移動します。ここでは、[ターゲットフレームワーク]を設定できます。ダイアログを開くだけで「netcoreapp2.1」に更新されました。 [保存]をクリックすると、pubxmlファイルのターゲットフレームワークが更新されます。その後、もう一度公開してください。

21
Matt
  1. 最初にプロジェクトをクリーンアップする必要がある場合があります。
  2. Visual Studioでプロジェクトファイルを右クリックします。
  3. プロパティをクリックし、[アプリケーション]-> [ターゲットフレームワーク]ドロップダウンを選択し、使用する.Net Core Frameworkのバージョンを選択します。
  4. ソリューションを再構築します。
5
Allan F. Gagnon

enter image description here 私は約3時間この問題に悩まされました。最終的に、このエラーはNugetパッケージMicrosoft.VisualStudio.Web.CodeGeneration.Designを追加したときに発生しました。これは私がこの問題を解決するためにしたことです:

1).netコアプロジェクトのbinフォルダを削除しました

2)明示的にdotnetバージョンをTargetFrameworkおよびPackageReferenceto2.1.0。プロジェクトとドットネットバージョンに最適なものを追加してみてください。

3)dotnet restoreでプロジェクトを復元し、dotnet buildでビルドします

4)最後に、私の問題は解決され、このエラーは表示されなくなりました。

4
muhammad tayyab

私が助けたのは、Properties> PublishProfilesフォルダーの下の.pubxmlファイルを削除してから、公開プロファイルを再作成するだけです。

4
Robert Koch

アップグレードしたソリューションをAWS Lambdaにデプロイしようとしたときに、同じ問題(エラー)に遭遇しました:

dotnet lambda deploy-serverless

aws-lambda-tools-defaults.jsonファイルを更新するのを忘れていたことが判明しました。

"framework"     : "netcoreapp2.1",

同じ状況で他の人に追加する。

2
TommyN

2.1.xのすべてのアップグレードを終了したが、最初は2.0.xでプロジェクトを開始したと思います。ダウングレードをダウングレードして追加することで、cspojファイルを手動で編集します。

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
    <TargetFramework>netcoreapp2</TargetFramework>

</PropertyGroup>


<ItemGroup>             
<PackageReference Include=
"Microsoft.AspNetCore.All" Version="2.0.3" />
<PackageReference Include=
"Microsoft.AspNetCore.Cors" Version="2.0.3" />                  
<PackageReference Include=
"Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.3" />                            
<PackageReference Include=
"Microsoft.EntityFrameworkCore.Tools" Version="2.0.3" PrivateAssets="All" />       
<PackageReference Include=
"Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.4" PrivateAssets="All" />
</ItemGroup>  


<ItemGroup>                      
<DotNetCliToolReferenceInclude=
    "Microsoft.EntityFrameworkCore.Tools.DotNet"Version="2.0.3" />   
<DotNetCliToolReferenceInclude=
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" /> 
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />       
</ItemGroup>

<DotNetCliToolReferenceInclude=>アイテムグループが不足していると思います。

2

私が見つけた提案のほとんどを試しましたが、問題を解決することになったのは、ここからMicrosoft.AspNetCore.Allパッケージを削除することでした:

%userprofile%.nuget\packages\Microsoft.aspnetcore.all\2.1.5\build\netcoreapp2.1 \

次のビルドで正しいバージョンが復元されました。

0
Zaifworks

返事が遅れて申し訳ありません、

私は今このエラーを受け取り、解決策を見つけました。

TargetFrameworkPublishProfilesバージョンをnetcoreapp2.2に変更する必要があります

<_SavePWD>True</_SavePWD>
<_DestinationType>AzureWebSite</_DestinationType>
<TargetFramework>netcoreapp2.2</TargetFramework>
<SelfContained>false</SelfContained>
<_IsPortable>true</_IsPortable>
0
Ranga Vadhineni