wake-up-neo.com

Das Ziel "MSDeployPublish" ist im Projekt nicht vorhanden

Ich weiß, dass es andere Verweise auf dieses Problem gab. Ich habe jedoch kein Upgrade von einer Version von VS auf eine andere durchgeführt. Ich verwende derzeit VS 2013. Das Projekt wird gut erstellt und in der Vergangenheit sogar erfolgreich implementiert. Dies ist eine brandneue App. Es war also nicht etwas, das von einem anderen Projekt geerbt wurde. Wo kann ich anfangen zu suchen? Was kann ich hier posten, was für Sie hilfreich sein könnte, um mir zu helfen? Es ist eine Web-API 2-Site. Ich verwende den Publish-Befehl innerhalb von VS2013.

16
Greg P

Das Hinzufügen der folgenden Zeilen zu meiner .csproj-Datei scheint den gleichen Fehler für mich zu beheben:

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

Als Teil des Versuchs, das Problem zu beheben, habe ich auch das MSBuild.Microsoft.VisualStudio.Web.targets Nuget Package installiert. Aber ich bin mir immer noch nicht sicher, ob es notwendig war, um das Problem zu lösen.

33
RonyK

Wenn Sie diesen MSB4057-Fehler aus einem WebJob-Projekt mit "Als Azure WebJob veröffentlichen" mit Visual Studio 2013/Update 4 erhalten, müssen Sie möglicherweise das NuGet-Paket Microsoft.Web.WebJobs.Publish aktualisieren.

Überprüfen Sie MyWebJob\packages.config und wenn die Version 1.0 ist, benötigen Sie Version 1.02 oder höher. Führen Sie die Ausführung der Paket-Manager-Konsole aus

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

Mit VS 2013 Update 4. Es scheint Probleme mit der Vorlage eines Webjob-Projekts zu geben, sodass der Verweis auf webjobs.targets falsch ist, obwohl Sie das Paket Microsoft.Web.WebJobs.Publish installiert haben.

Stellen Sie sicher, dass die Dort-Import-Anweisung am unteren Rand des Projekts in Bezug auf den Pfad korrekt ist. Ich habe zweimal getestet und festgestellt, dass sie fehlerhaft war.

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

Vermeiden Sie auch besser die Verwendung der folgenden, da Sie an eine bestimmte VS-Version gebunden werden.

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

Nachdem ich VS 2017 (15.5.6) gerade neu installiert hatte, bin ich mit einem von drei WCF-Projekten darauf gestoßen. Ich habe die csprojs für alle drei durchgesehen und konnte keinen Unterschied zwischen ihnen feststellen. Das Ausschneiden und Einfügen der verschiedenen Importe, Pfade usw. von den funktionierenden machte keinen Unterschied. 

Das Hinzufügen des Nuget-Pakets MSBuild.Microsoft.VisualStudio.Web.targets (v14.0.0.3 war das letzte, d. H. VS2015) hat das Problem vorläufig behoben. Ich kann nicht glauben, dass dies für immer verschwunden ist.

3
Mike Dean

Für diejenigen, die einen WebJob bereitstellen, kann dieser Fehler auch auf eine fehlende webjob-publish-settings.json-Datei zurückzuführen sein (sie sollte sich im Ordner Eigenschaften des WebJob-Projekts befinden). Seine Struktur sollte beispielsweise sein:

{
  "$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
}

(Dies ist für einen stündlich geplanten Job).

2
McBodge

Ich bin gerade auf diesen genauen Fehler mit VS 2015 Update 3 gestoßen. Der neueste Microsoft.Web.WebJobs.Publish wurde installiert, und ich habe die Deinstallation und Neuinstallation für ein gutes Maß versucht. Es hat immer noch nicht funktioniert, aber bei der Installation ist ein Fehler aufgetreten, den ich beim ersten Mal nicht gesehen habe:

install.ps1 kann nicht geladen werden, da auf diesem System die Ausführung von Skripts deaktiviert ist.

Dies ist etwas, das die meisten, die jemals ein PowerShell-Skript ausgeführt haben, zu einem oder anderen Zeitpunkt gefunden haben und leicht zu beheben sind (Lösung ist hier ), aber die Fehlermeldung selbst ist leicht zu übersehen.

2
Todd Menier

Führen Sie einfach das unten aufgeführte Projekt aus, und stellen Sie sicher, dass VisualStudio als "Administrator" ausgeführt wird. 

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

Dieses Problem ist bei einem in Visual Studio 2017 geladenen Projekt aufgetreten. Früher funktionierte es auf einer anderen Maschine, aber nicht bei der Migration zu einer neuen Maschine.

Nachdem ich alle Vorschläge in den Antworten ausprobiert hatte (die Frage wurde in StackOverflow mehrmals doppelt gestellt), stieß ich schließlich auf jemanden, der die Installation des Azure SDK für VS2015 erwähnte.

Dies sollte für VS2017 nicht erforderlich sein, aber es hat das Problem für mich gelöst. Ich hatte 2015 auf meiner alten Maschine verwendet, war aber auf 2017 umgestiegen. Anscheinend spielten die SDK-Bits immer noch eine Rolle.

0
Will

Um das Problem für Visual Studio Enterprise 2015 Update 3 zu beheben, musste ich die folgenden Pakete installieren und die Projektdatei des Webjobs wie folgt bearbeiten.

SCHRITT 01 : Pakete installieren (VS als Administrator für die Skriptausführung ausführen)

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

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

SCHRITT 02 : WebJob-Projektdatei bearbeiten (Entladen Sie das Projekt von VS und bearbeiten/speichern Sie .csproj, und laden Sie es anschließend erneut.)

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

Um die Antwort von @Uri Golani hinzuzufügen, bedeutet ein Wechsel auf den neuen PackageReference-Weg statt mit dem traditionellen Nuget, das den packages-Ordner verwendet, dass es aussah, als könnte ich den packages-Ordner löschen. Whelp, anscheinend waren die Verweise in der csproj auf den packages-Ordner (der Ordner, den ich gelöscht hatte) das Problem. Ich bin nicht sicher, wie ich den richtigen Verweis auf etwas anderes erhalten kann (was auch immer der Cache ist, auf den sich die Variable PackageReferences bezieht), also fügt man einfach einen Paketordner erneut hinzu. Die Ordner Microsoft.Bcl.Build.1.0.21 und Microsoft.Web.WebJobs.Publish.1.1.0 nuget schienen das zu beheben.

0

Ich habe diesen Fehler in einem Projekt mit einem project.json für die Nuget-Pakete erhalten.

Als ich die project.json entfernte und die packages.config benutzte, funktionierte alles gut.

Beachten Sie, dass ich die ExecutionPolicy für Windows PowerShell festgelegt habe, bevor ich dies versucht habe ( siehe Lösung von @Jon Crowell ). Dies könnte ebenfalls erforderlich sein.

Wenn jemand einen Weg findet, dieses Problem mit einem project.json zu lösen, lass es mich wissen!

0
Marcel W