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?