web-dev-qa-db-ja.com

ターゲット「ResolveWebJobFiles」がAzureWebサイトのプロジェクトに存在しません

で構成されるWindowsAzureプロジェクトがあります

  • Azure Webサイトとして展開されたASP.NETプロジェクト(NancyFXを使用)
  • ビジネスロジッククラスライブラリ
  • ユニットテストクラスライブラリ
  • 2コンソールアプリ

これらの2つのコンソールアプリをAzureWebサイトでAzureWebJobsとして展開したいと思います。そこで、ASP.NETプロジェクトでclikecを実行し、[追加]、[追加]の順に選択しました。 Azure WebJobとして既存のプロジェクトを作成し、両方のコンソールアプリを適切なスケジュールで追加しました。

すべてが正常に見えます。2つのコンソールアプリにはスケジュール付きのJSONが含まれ、ASP.NETプロジェクトにはWebJobs定義付きのJSONが含まれています。すべてのプロジェクトは問題なくビルドされます。

問題は、ASP.NETプロジェクトをAzureにデプロイしようとすると、次のようになります。

The target “ResolveWebJobFiles” does not exist in the project

私が見つけた この記事 著者が追加してこの問題を解決したとき

<Import Project="..\packages\Microsoft.Web.WebJobs.Publish.1.0.2\tools\webjobs.targets" Condition="Exists('..\packages\Microsoft.Web.WebJobs.Publish.1.0.2\tools\webjobs.targets')" />

彼のcsprojファイルに追加しましたが、ASP.NETプロジェクトのcsprojファイルにはすでにこのインポートが含まれています。

問題は何ですか?

23
Igor Kulman

私でさえこの問題に直面しました。私はそれを解決するために私のウェブジョブに以下のパッケージを再インストールしました

パッケージid = "Microsoft.Web.WebJobs.Publish" version = "1.0.2"

33
Santosh Karanam

主な理由の1つは、プロパティに「webjob-publish-settings.json」ファイルがない可能性があります。

このファイルが存在し、プロジェクトに含まれていることを再確認してください。

このファイルがwebjobプロジェクトのプロパティフォルダーにあるかどうかを確認します:webjob-publish-settings.json

そうでない場合は、このコンテンツで作成し、webJobNameのみを変更します(今のところ)

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "MyWebJobName",
  "startTime": "2014-12-09T00:00:00-08:00",
  "jobRecurrenceFrequency": "Hour",
  "interval": 1,
  "runMode": "Scheduled",
  "stopping_wait_time": 3600
}
5
Rob Campbell

私の場合、1つの無効なWebジョブが関連付けられていたのはこのファイルであり、それを削除して機能し始めました

webjobs-list.json

4
AnoojNair

私もこれに遭遇しました。ソリューション内のすべてのパッケージを更新した後、これを取得し始めました。 <import />はありましたが、別のバージョンを探していました。だからそれもチェックしてください。

3
Serge Mulders

最近このエラーが発生し、[WebProject] /Properties/webjobs-list.jsonにソリューションから削除された古いWebジョブへの参照が含まれていることが原因であることがわかりました。 jsonから参照を削除すると、問題が修正されました。

1
Daniel

また、WebJobプロジェクトの.netバージョンとWebアプリの比較も確認する価値があります。

1
stuartdotnet

ドキュメント に記載されているように

WebJobs対応プロジェクトには、次の項目が追加されています。
-Microsoft.Web.WebJobs.PublishNuGetパッケージ。
-デプロイとスケジューラの設定を含むwebjob-publish-settings.jsonファイル。

Microsoft.Web.WebJobs.Publish Nugetパッケージへの参照が必要なプロジェクトは、Webアプリケーションではなく、Webjob対応のプロジェクトアプリケーションであることが明確に示されています。 Webアプリケーションに必要なのはwebjobs-list.jsonファイルのみです。

Webジョブコンソールアプリケーションにもwebjob-publish-settings.jsonファイルがある場合がありますが、これは非連続ジョブの場合のみです。

1
Eugenio Miró