web-dev-qa-db-ja.com

ターゲット「MSDeployPublish」はプロジェクトに存在しません

この問題について他の言及があったことは知っています。しかし、VSのあるバージョンから別のバージョンにアップグレードしませんでした。私は現在VS 2013を使用しています。プロジェクトは正常にビルドされ、過去に正常に展開されたことさえあります。これは真新しいアプリです。したがって、それは別のプロジェクトから継承されたものではありませんでした。どこから探し始めますか?ここに何を投稿できますか。 Web API 2サイトです。 VS2013内でpublishコマンドを使用しています。

18
Greg P

以下の行を.csprojファイルに追加すると、同じエラーが解決するようです。

<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

この問題を解決しようとする一環として、MSBuild.Microsoft.VisualStudio.Web.targets Nuget Packageもインストールしました。しかし、問題を解決するためにそれが必要であったかどうかはまだわかりません。

37
RonyK

Visual Studio 2013/update 4を使用して「Azure WebJobとして公開」を使用してWebJobプロジェクトからこのMSB4057エラーを受け取った場合、NuGetパッケージを更新する必要があるかもしれませんMicrosoft.Web.WebJobs.Publish

MyWebJob\packages.configを確認し、バージョンが1.0の場合、バージョン1.02以降が必要です。パッケージマネージャーコンソールから実行

 Install-Package Microsoft.Web.WebJobs.Publish -Version 1.0.2
32
RickAndMSFT

VS 2013 Update4。Microsoft.Web.WebJobs.Publishパッケージをインストールしたにもかかわらず、webjobs.targetsへの参照が間違っているため、Webjobプロジェクトのテンプレートに問題があるようです。

プロジェクトの下部にあるThere Importステートメントがパスの点で正しいことを確認します。2回テストしたところ、形式が正しくないことがわかりました。

<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')" /> 

また、特定のVSバージョンにバインドするため、以下の使用は避けてください。

<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
11
Uri Golani

参考までに、VS2019と同じ問題、同じソリューション:

  • NugetのインストールMicrosoft.Web.WebJobs.Publish nugetのインストール
  • MSBuild.Microsoft.VisualStudio.Web.targets
5
Bart Coppens

WebJobをデプロイしている場合、このエラーはwebjob-publish-settings.jsonファイルが欠落していることが原因である可能性があります(WebJobプロジェクトのPropertiesフォルダーにあるはずです)。その構造は、例えば:

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "MyWebJob",
  "startTime": "2017-01-27T03:00:00+00:00",
  "endTime": null,
  "jobRecurrenceFrequency": "Hour",
  "interval": 1,
  "runMode": "Scheduled",
  "is_singleton": true
}

(これは1時間ごとにスケジュールされたジョブ用です)。

3
McBodge

VS 2017(15.5.6)を再インストールしたばかりで、3つのWCFプロジェクトの1つでこれに遭遇しました。私は3つすべてのcsprojsを選択しましたが、それらの間に違いはありませんでした。動作しているものからさまざまなインポート、パスなどをカットアンドペーストしても違いはありませんでした。

NugetパッケージMSBuild.Microsoft.VisualStudio.Web.targets(v14.0.0.3は最新、つまりVS2015)を追加することで、今のところ問題が修正されています...これが永久に消え去ったなんて信じられません。

3
Mike Dean

VS 2015 Update 3でこの正確なエラーにぶつかったところです。最新のMicrosoft.Web.WebJobs.Publishがインストールされました。適切な方法で、アンインストールと再インストールを試みました。それでも機能しませんでしたが、インストール時に初めて表示されないエラーが発生しました:

このシステムではスクリプトの実行が無効になっているため、install.ps1をロードできません。

これは、PowerShellスクリプトを実行したことがあるほとんどの人が一度に実行したものであり、簡単に修正できます(解決策は here )ですが、エラーメッセージ自体は見落としがちです。

2
Todd Menier

公開するプロジェクトで以下を実行するだけです(そして、VisualStudioが「管理者」として実行されていることを確認してください)。

install-package Microsoft.Web.WebJobs.Publish
1
Illuminati

Visual Studio 2017に読み込まれたプロジェクトでこの同じ問題に遭遇しました。以前は別のマシンで動作していましたが、新しいマシンに移行したときはそうではありませんでした。

ここで回答のすべての提案を試した後(質問はStackOverflowで何度か重複しています)、私はようやくAzure SDK for VS2015のインストールについて言及した他の誰かに遭遇しました。

これはVS2017では必要ないはずですが、問題は解決しました。以前は古いマシンで2015を使用していましたが、2017に切り替えていました。どうやら、SDKビットは依然として重要でした。

0
Will

Visual Studio Enterprise 2015 Updateの問題を修正するために、次のパッケージをインストールして、Webジョブのプロジェクトファイルを次のように編集する必要がありました。

STEP 01:Install Packages(スクリプト実行のために管理者としてVSを実行)

1. install-package **MSBuild.Microsoft.VisualStudio.Web.targets**

2. install-package **Microsoft.Web.WebJobs.Publish -Version 1.0.2**

STEP 02:WebJobプロジェクトファイルを編集(VSからプロジェクトをアンロードし、.csprojを編集/保存してから再ロード)

 <PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
0
marvelTracker

@Uri Golaniの回答に追加するには、PackageReferenceフォルダーを使用する従来のnugetではなく、新しいpackages方法に切り替えたため、packagesフォルダ。どうやら、csprojpackagesフォルダー(削除したフォルダー)への参照が問題だったようです。他の何かへの正しい参照を取得する方法(PackageReferencesが参照するものは何でも)がわからないので、今のところ、Microsoft.Bcl.Build.1.0.21Microsoft.Web.WebJobs.Publish.1.1.0 nugetフォルダーはこれを修正したようです。

0

Nugetパッケージのproject.jsonを含むプロジェクトでこのエラーが発生しました。

Project.jsonを削除してpackages.configを使用すると、すべてが正常に機能しました。

これを試す前にWindows PowerShellのExecutionPolicyを設定したことに注意してください( @ Jon Crowellのソリューションを参照 )。これも必要になる場合があります。

誰かがproject.jsonでこれを解決する方法を見つけた場合は、私に知らせてください!

0
Marcel W