web-dev-qa-db-ja.com

Visual Studio 2019からAzureへのASP.NET Core 3.1サイトの発行エラー

既存のASP.NET Core 3.アプリケーションがAzure App Serviceに正常にデプロイされています(AspNetCoreModuleV2モジュールを使用)。アプリを(本日のリリース)ASP.NET Core 3.1にアップグレードした後、アプリケーションはIIS Expressのローカルバージョンで正しくビルドおよび実行されます。 (本日のリリース)Visual Studio 16.4を使用してAzure App Serviceに公開しようとすると、次のエラーが表示されます。

アセットファイル「C:\ Project\obj\project.assets.json」に「.NETCoreApp、Version = v3.0」のターゲットがありません。復元が実行され、プロジェクトのTargetFrameworksに「netcoreapp3.0」が含まれていることを確認します。

ノート

  • すべての<PackageReference>からMicrosoft.AspNetCoreMicrosoft.EntityFrameworkCoreMicrosoft.Extensions3.1.0に更新されました
  • ソリューションをクリーンアップし、objフォルダーを削除して、参照が残っていないことを確認しました。
  • このエラーは、3.1.100Microsoft.PackageDependencyResolution.targetsバージョンから生成されています。

somethingがまだ。NET Core 3.依存関係にぶら下がっていることがわかります。しかし、それが展開中にのみ問題を引き起こしている理由は不明です。 Azure App Service'sはまだ準備ができていません。NET Core 3.1?または、これは依存関係解決ターゲットの問題ですか?

9
Jeremy Caney

元の質問で特定された当面の問題は、<TargetFramework>が設定されている2つの場所があることに関係しています。

  1. プロジェクトファイル(例:csproj
  2. パブリッシングプロファイル(つまり、pubxml

<TargetFramework>は、両方の場所で更新する必要があり、それらは正確に一致する必要があります。そうしないと、パブリッシングは、csjprojファイルのproject.assets.jsonに基づいて構築された<TargetFramework>ファイルでターゲットを見つけることができません。

注:pubxmlファイルが<TargetFramework>セットのcsprojファイルですが、これはではありません

テキストエディタ

この変更をテキストエディタで行うには、

  1. ~/Properties/PublishProfilesフォルダーを開きます。
  2. 編集する*.pubxmlを開きます。
  3. <TargetFramework>の値をnetcoreapp3.1に変更します。
<TargetFramework>netcoreapp3.1</TargetFramework>

Visual Studio 2019

Visual Studio 2019 IDEを介してこの変更を行うには、

  1. Web One Click Publishツールバー(公開アイコンの右側にあります)の歯車アイコンをクリックします。
  2. Target Frameworknotnetcoreapp3.1に設定されていると仮定すると、その横にある編集アイコンをクリックします。
  3. Target Frameworknetcoreapp3.1に設定されていることを確認します。
  4. 保存をクリックします。

警告: IDEを使用しているときに、ここで問題が発生する場合があります。プロファイルを編集すると、プロジェクトファイル(つまりnetcoreapp3.1)のnew値がすでに選択されていることがわかります。ただし、Saveをクリックすると、originalに戻ります値(たとえば、私の場合はnetcoreapp3.0)。これは、インターフェイスの値を実際にchangeしなかったためです。VisualStudioは、基礎となる値。別の値を一時的に切り替えると(例:Configuration)、Visual Studioは変更が発生したことを認識し、両方の値が*.pubxmlファイルで更新されます。

再度、正しい方向に向けてくれた@PanagiotisKanavosに感謝します(元のスレッドのコメントを参照)。

13
Jeremy Caney

プロジェクトフォルダを開きます。

  • フォルダの[プロパティ] >> [PublishProfiles]に移動します
  • ファイルFolderProfile.pubxmlを開き、バージョン..1に変更します

    netcoreapp3.1

  • 最後に、公開する前にアプリケーションを再構築します

2
Kenneth Korir

変化する

<PackageReferenceInclude="Microsoft.AspNetCore"Version="2.2.0" />
 to 
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />

私のために働く。

0
Libertad