Using the following MSBuild script that is invoked from the command line I am trying to run the publish option which works great inside of Visual Studio 2012.
<Target Name="BuildRelease">
<MSBuild
Properties="Configuration=Release;DeployOnBuild=True;
DeployTarget=Publish;CreatePackageOnPublish=True"
StopOnFirstFailure="true"
Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild>
</Target>
my Project.pubxml is…
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<SiteUrlToLaunchAfterPublish />
<publishUrl>c:\temp\Deploy</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
Project.pubxml.user is…
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<TimeStampOfAssociatedLegacyPublishXmlFile />
</PropertyGroup>
...snipped ItemGroup which has all my files and last timestamp of publish
</Project>
Is there something wrong with these files that would prevent the Publish option from working? The script runs with no errors, but when I look in the C:\temp\Deploy directory, there are no files.
I wasn’t able to get the publish to run, but looking at the output from Visual Studio I think I have found an alternate solution. Turns out the obj\Release\AspnetCompileMerge folder has a deployable and clean version of the project. It contains byte identical files to the final output folder.
I did have to change my msbuild script to include the DeployOnBuild option…