Usando o msbuild para executar um perfil de publicação do sistema de arquivos

Eu tenho um projeto c # .Net 4.0 criado com VS2010 e agora sendo acessado com VS2012.

Estou tentando publicar apenas os arquivos necessários deste site para um local de destino(C: \ builds \ MyProject [arquivos])

Minha estrutura de arquivos: ./ProjectRoot/MyProject.csproj ./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml

Estou executando o seguinte via MSBuild:

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

Aqui está o xml em 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>

O comportamento resultante é:

um arquivo zip é criado aqui:./ProjectRoot/obj/Debug/Package/MyProject.zipNada é implantado para<publishUrl>C:\builds\MyProject\</publishUrl> WTFo arquivo zip que é criado é um café da manhã de porcos e cheio de arquivos que não são necessários para o aplicativo.

Quando executo este perfil de publicação no visual studio, uma pasta é criada em *C: \ builds \ MyProject * e contém os artefatos exatos que eu quero.

Como faço para obter esse resultado simples de msbuild?

questionAnswers(6)

yourAnswerToTheQuestion