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]
私は同じ問題を抱えていましたが、正しいターゲット環境の公開プロファイルファイル(.pubxml)を更新していませんでした
< TargetFramework>netcoreapp2.1< /TargetFramework>
そして、以前の回答については、行に
< DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" />
陳腐化のため2.1バージョンで削除され、現在含まれています
Joakimjaの投稿をフォローするには、VS2017 IDE経由で.pubxmlファイルを更新することもできます。プロジェクトを右クリックして[公開]を選択し、[トラブルシューティング情報]行の[構成]をクリックし、[設定]タブに移動します。ここでは、[ターゲットフレームワーク]を設定できます。ダイアログを開くだけで「netcoreapp2.1」に更新されました。 [保存]をクリックすると、pubxmlファイルのターゲットフレームワークが更新されます。その後、もう一度公開してください。
私は約3時間この問題に悩まされました。最終的に、このエラーはNugetパッケージMicrosoft.VisualStudio.Web.CodeGeneration.Design
を追加したときに発生しました。これは私がこの問題を解決するためにしたことです:
1).netコアプロジェクトのbinフォルダを削除しました
2)明示的にdotnetバージョンをTargetFrameworkおよびPackageReferenceto2.1.0。プロジェクトとドットネットバージョンに最適なものを追加してみてください。
3)dotnet restore
でプロジェクトを復元し、dotnet build
でビルドします
4)最後に、私の問題は解決され、このエラーは表示されなくなりました。
私が助けたのは、Properties> PublishProfilesフォルダーの下の.pubxmlファイルを削除してから、公開プロファイルを再作成するだけです。
アップグレードしたソリューションをAWS Lambdaにデプロイしようとしたときに、同じ問題(エラー)に遭遇しました:
dotnet lambda deploy-serverless
aws-lambda-tools-defaults.jsonファイルを更新するのを忘れていたことが判明しました。
"framework" : "netcoreapp2.1",
同じ状況で他の人に追加する。
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=>
アイテムグループが不足していると思います。
私が見つけた提案のほとんどを試しましたが、問題を解決することになったのは、ここからMicrosoft.AspNetCore.Allパッケージを削除することでした:
%userprofile%.nuget\packages\Microsoft.aspnetcore.all\2.1.5\build\netcoreapp2.1 \
次のビルドで正しいバージョンが復元されました。
返事が遅れて申し訳ありません、
私は今このエラーを受け取り、解決策を見つけました。
TargetFramework
のPublishProfiles
バージョンをnetcoreapp2.2
に変更する必要があります
<_SavePWD>True</_SavePWD>
<_DestinationType>AzureWebSite</_DestinationType>
<TargetFramework>netcoreapp2.2</TargetFramework>
<SelfContained>false</SelfContained>
<_IsPortable>true</_IsPortable>