I have a solution that contains two basic (not MVC or .Net Core) ASP.Net web applications, and a few libraries on which they depend.
I have a build definition in VSTS that contains a Visual Studio Build step, which builds the solution with MSBuild.
The default set of MSBuild arguments package each web application into a single file, to be deployed via a batch file:
/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
I cannot use this method, and require the website to be published to the file system so that existing scripts can do the deployment.
Therefore I changed these arguments to:
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:publishUrl=$(build.artifactstagingdirectory)\website
This does indeed publish the two websites to the file system, but the problem is that it puts them both on top of each other in the same folder.
Is there a way of passing some sort of paramaterised URL to publishUrl
such that the two websites can end up in different folders? Or must I make an MSBuild step for each project individually?