Ausführen eines Dateisystem-Veröffentlichungsprofils mit msbuild

Ich habe ein C # .Net 4.0-Projekt mit VS2010 erstellt und jetzt mit VS2012 zugegriffen.

Ich versuche, nur die benötigten Dateien von dieser Website an einem Zielspeicherort zu veröffentlichen(C: \ builds \ MyProject [Dateien])

Meine Dateistruktur: ./ProjectRoot/MyProject.csproj ./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml

Ich führe folgendes über MSBuild aus:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe ./ProjectRoot/MyProject.csproj / p: DeployOnBuild = true /p:PublishProfile=./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml

Hier ist die XML in FileSystemDebug.pubxml

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>C:\builds\MyProject\</publishUrl>
    <DeleteExistingFiles>True</DeleteExistingFiles>
  </PropertyGroup>
</Project>

Das resultierende Verhalten ist:

Hier wird eine Zip-Datei erstellt:./ProjectRoot/obj/Debug/Package/MyProject.zipEs wird nichts für bereitgestellt<publishUrl>C:\builds\MyProject\</publishUrl> WTFDie Zip-Datei, die erstellt wird, ist ein Schweinefrühstück und voller Dateien, die für die Anwendung nicht benötigt werden.

Wenn ich dieses Veröffentlichungsprofil über Visual Studio starte, wird ein Ordner unter * erstellt.C: \ builds \ MyProject * und enthält die genauen Artefakte, die ich will.

Wie erhalte ich dieses einfache Ergebnis von msbuild?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage