Ich habe kürzlich die neuen Azure-Entwicklungstools für Visual Studio 2010 Service Pack 1 installiert. Jedes Mal, wenn ich versuche, eine vorhandene Website zu veröffentlichen (mithilfe der Dateisystembereitstellung), wird die folgende Fehlermeldung angezeigt:
Das Ziel "GatherAllFilesToPublish" ist im Projekt nicht vorhanden.
Kann mir jemand sagen, was ich vermisse?
Vielen Dank
Antworten:
Ich denke, dass ich weiß, worum es geht. Wenn Sie die Azure SDK-Bits installieren, werden einige VS Web Publish-Updates installiert. Eine davon aktualisiert die Datei unter
Basierend darauf, wie unser Setup definiert ist, wenn diese Datei einen aktualisierten Zeitstempel hat (aus welchem Grund auch immer), wird die Datei bei der Installation der neuen Komponente nicht aktualisiert.
Um dies zu beheben, sollten Sie in der Lage sein, die folgenden Schritte auszuführen:
Microsoft.WebApplication.targets
in umMicrosoft.WebApplication.targets.bak
quelle
Ich hatte dieses Problem und es wurde behoben durch Hinzufügen von:
in die Projektdatei.
quelle
Dies funktionierte für mich behoben - sammeln Sie alle Dateien, um Fehler zu veröffentlichen
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Fügen Sie über der Zeile Folgendes hinzu.
Projekt speichern und neu laden.
quelle
Das Entfernen dieser Installationen löste das Problem für mich:
Referenz
quelle
Ich bin mit VS 2017 auf dieses Problem gestoßen und habe versucht, die csproj-Datei wie hier vorgeschlagen manuell zu ändern, und keine der vorgeschlagenen Korrekturen hat bei mir funktioniert. Ich bin auf dieses Nuget-Paket gestoßen. Die Installation hat bei mir funktioniert.
MSBuild.Microsoft.VisualStudio.Web.targets
quelle
Ich hatte ein ähnliches Problem, als ich meine ASP.Net-Anwendung in Windows Azure veröffentlichen wollte. Nach vielen Versuchen und Irrtümern endlich dies funktionierte Lösung für mich. Dies erfordert keine Umbenennung von Dateien oder Installation / Neuinstallation von Hotfixes / Patches. Folgendes müssen Sie tun:
Öffnen Sie die ASP.Net-Projektdatei (.csproj) in Wordpad / Notepad und suchen Sie die folgende Zeile:
Ersetzen Sie es durch eine Linie wie unten angegeben:
quelle
Conditon="false"
. Ich musste das Projekt auch bereinigen und neu erstellen, bevor es anfing zu funktionieren.Gleiches Problem mit VS2017. Sie können dies versuchen, es hat bei mir funktioniert.
Suchen Sie das Schlüsselwort "WebApplication.targets".
KOMMENTIEREN oder ENTFERNEN Sie diese Zeile (möglicherweise zwei Zeilen, abhängig von "Bedingung").
In diesem Schritt werden Sie aufgefordert, ein Paket mit einer Größe von ca. 500 MB zu installieren.
Danach Projekt neu laden, dann funktioniert es!
Ich vermisse wohl nur einige Komponenten, wenn ich VS 2017 installiere.
Ich stelle auch fest, dass der MSBuild-Pfad in VS2017 ganz anders ist, aber vielleicht hängt das nicht mit dem Problem zusammen, da er den relativen Pfad in der csproj-Datei verwendet.
quelle
Ich erkenne dies in einer alten Frage, aber ich bin kürzlich darauf gestoßen und hier ist, wie ich es gelöst habe.
Hintergrund: Ich hatte ein altes Projekt, das ich auf VS Studio 13 aktualisiert habe. Es sieht so aus, als ob die Projektdatei nicht ordnungsgemäß aktualisiert wurde.
Es gibt Verweise auf VS v10.0 in der csproj-Datei, aber ich verwende VS 13, das wirklich "v12.0" ist.
Also habe ich der csproj-Datei gesagt, dass sie den Ordner "v12.0" verwenden soll, nicht den Ordner "v10.0".
Das hatte ich:
Das habe ich geändert in:
Jetzt funktioniert meine Veröffentlichung im Dateisystem!
quelle
Ich hatte ein ähnliches Problem und löste es mithilfe der von Sayed bereitgestellten Schritte.
Die Datei, die ich umbenannt habe, befand sich jedoch im Verzeichnis v10.0.
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets.
Die ursprüngliche Datei, die dort vorhanden war, wurde am 18. Januar 2011 datiert. Nachdem sie mit einer .bak-Erweiterung umbenannt und anschließend KB2591016 neu installiert wurde, scheint die Veröffentlichung wieder zu funktionieren. Das neue Datum der Datei Microsoft.WebApplication.targets ist jetzt der 11. August 2011.
quelle
Ich habe mit dem gleichen Problem mit Visual Studio 2013 (und 2015) zu kämpfen.
Die entscheidende Lösung für mich war das Hinzufügen der
VSToolsPath
Eigenschaftseinstellung, die aus irgendeinem Grund in meiner Projektdatei fehlte.Ich habe dies in die
<PropertyGroup>
Richtlinie aufgenommen:Als Randnotiz: Meine Projektdatei verweist auch auf die Version 10.0 der
Microsoft.WebApplication.targets
Datei, aber das scheint in Ordnung zu sein.quelle
Ich hatte den gleichen Fehler. Irgendwie fehlte diese Zeile.
Fügte es gleich unten hinzu
Funktioniert jetzt gut
quelle
Ich habe das gleiche Problem in VS2013. Die Lösung, die ich gefunden habe, bestand darin, ein neues leeres Webanwendungsprojekt zu erstellen, mit dem die folgenden Zeilen in mein altes Website-Projekt kopiert werden können: Oben:
quelle
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Bearbeiten (Projektname) .csproj. (zB Bearbeiten im Editor) Suchen Sie nach Fügen Sie Folgendes über der Zeile hinzu.
13.0 $ (MSBuildExtensionsPath32) \ Microsoft \ VisualStudio \ v $ (VisualStudioVersion) Projekt speichern und neu laden.
Das funktioniert wirklich für mich, danke
quelle
Für Visual Studio 2017 sollte es nach dem Block in der .csproj-Datei hinzugefügt werden. Verwenden Sie den Editor und suchen Sie nach ".targets", um es zu finden ...
Ich habe ein neues VS 2017-Projekt erstellt und dies funktioniert für mich (ohne Warnungen):
quelle
Ich hatte das gleiche Problem: Ich habe das Projekt in erstellt
VS 2010
und musste aus veröffentlichenVS 2019
. Keine der Lösungen hier funktionierte für mich, und ich war ungefähr einen Tag mit dem Problem beschäftigt.Was funktioniert hat, kam von diesem Link: http://www.dotnetxp.com/visual-studio-error-publish-target-gatherallfilestopublish-not-exist-project/
Das habe ich getan:
** Entladenes störendes Projekt.
** Öffnen Sie die csproj-Datei im Texteditor.
** Finde diese Zeile
und damit ersetzen. Ich benutze,
16.0
weil das die Version ist, die ich benutze (vs2019).** Projekt neu laden und veröffentlichen.
Lief wie am Schnürchen.
quelle
Die Lösung von Sayed funktionierte in meinem Projekt nicht, das mit VS2012 aktualisiert wurde. Aber das hat funktioniert
quelle
Wenn Sie in VS2012 (Visual Studio 2012) ein VS2010-Projekt bearbeiten, versuchen Sie dies. Bearbeiten Sie die csproj-Datei von:
Und wechseln Sie zu:
quelle
Da das Problem auf meiner Seite nicht reproduziert werden kann, möchte ich Ihnen empfehlen, das SDK neu zu installieren.
Bitte versuchen Sie, das alte SDK vollständig zu entfernen, bevor Sie das neue installieren.
Freundliche Grüße,
Ming Xu.
quelle
Gleiches Problem habe ich behoben. Bitte überprüfen Sie, ob einige Dateien in der Lösung fehlen. wenn Sie Fehler wie sehen
Error - The target "GatherAllFilesToPublish" does not exist in the project.
Dann stoßen, öffnen Sie einfach die .proj-Datei und löschen Sie diese Zeile<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
Sie erhalten einen tatsächlichen Fehler oder diese fehlenden Dateien in Lösung
quelle