2015-05-01 2 views
7

Ich versuche, ein Webbereitstellungspaket mithilfe von Msbuild über die Befehlszeile zu erstellen. Ich habe überall gesucht und gefunden den folgenden BefehlSo erstellen Sie MSdeploy Package mit MSBuild für alle Dateien in diesem Projektordner

msbuild myproject.csproj /t:package 

Obwohl es für mich funktioniert, aber es gibt mir nur das, was Visual Studio gibt uns zurück, wenn wir Web-deploy Paket durch Packge/Veröffentlichen Web Registerkarte mit „nur Dateien erstellen benötigt, um diese Anwendung auszuführen "Option aus dem Dropdown-Menü ausgewählt. Ich möchte jedoch, dass mein Webbereitstellungspaket genauso aussieht wie das, was ich erhalte, wenn ich im Dropdown-Menü die Option "Alle Dateien in diesem Projektordner" auswähle. Ich bin durch Links wie diese gegangen http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx.

Aber ich frage mich, ob ich meine .csproj-Datei wirklich anpassen muss (wie es in diesem Post beschrieben wurde), da alles, was ich will, eine Befehlszeile (anscheinend aufwendiger als die oben erwähnte) für Msbuild ist Dies kann die Option "Alle Dateien in diesem Projektordner" imitieren, die den "bin-Ordner des Webbereitstellungspakets" mit allen .dlls füllt, die sich im ursprünglichen bin-Ordner meines Projekts befinden, und mir ein umfassenderes Paket generieren.

Antwort

5

Fügen Sie in Ihrer Befehlszeile einfach /p:FilesToIncludeForPublish=AllFilesInProjectFolder zu Ihrem Msbuild-Aufruf hinzu.

msbuild myproject.csproj /t:package /p:FilesToIncludeForPublish=AllFilesInProjectFolder /p:Configuration=Release 

Tipp: Viele dieser Einstellungen werden gespeichert in Ihrer Projektdatei, während Sie gerade dabei sind, können Sie auch /p:Configuration=Release

So bauen in einer bestimmten Konfiguration übergeben wollen. Öffnen Sie Ihre Datei im Editor und vergleichen Sie die vorgenommenen Änderungen, wenn Sie einige Einstellungen geändert haben. Jedes Element, das sich in einem <propertygroup> befindet, kann normalerweise auch über die Befehlszeile mit dem Parameter /p: weitergeleitet werden.

+0

Vielen Dank für Ihre Antwort Ich werde es versuchen und Sie wissen lassen, unterdessen können Sie bitte etwas mehr auf, was Sie in Ihrer Antwort wie "Öffnen Sie Ihre Datei in Editor und vergleichen Sie die Änderungen, wenn Sie sich geändert haben einige Einstellungen ". Ich habe das wirklich nicht verstanden. Da ich ab sofort keine Änderungen an meiner .csproj-Datei vorgenommen habe, gegen was soll ich es sonst noch vergleichen, nachdem ich es im Editor geöffnet habe. – user2913184

+0

Wenn Sie Änderungen an Ihren Verpackungseinstellungen vornehmen, werden diese in der Projektdatei gespeichert. Fast jede Einstellung auf den Eigenschaftenseiten wird in der Projektdatei gespeichert. – jessehouwing

+0

Wenn ich Ihnen richtig folge, dann bedeutet das, dass wenn ich den Befehl ausführen werde, ich ein neues XML-Element in der .csproj-XML-Datei erstellen werde (und ich könnte es in der .csproj-Datei nach dem Web-Bereitstellungspaket sehen ist erstellt) – user2913184