title: How do I package a mixed project solution with only one build step in VSTS?
body: <p>I have an old ASP.Net app targeting the .NET Framework 4.7.  This app has been a five year development exercise and is very mature.  It has quite a few supporting library projects all in the same solution.  There are three EF6 projects for database communication.</p>
  
  <p>We have started the move to .NET Core and have added a new .NET Core web project targeting .NET Framework 4.7 so we can use the EF6 projects while we migrate.  This is all working well.</p>
  
  <p>Our source code is hosted in VSTS and we are using a remote build server in our domain instead of an Azure build server.  I can successfully build the solution without MSBuild Arguments.  But the MSBuild Arguments to produce the Deployment Package I need are different for the legacy ASP.Net app and the ASP.Net Core app.  So I have created two solutions, one that has the legacy project and all the library projects but not the ASP.Net Core project.  And another with the ASP.Net Core project and all the library projects but not the legacy ASP.Net project.  I also have two build steps, one for each solution which contains the MSBuild Arguments that each web project needs to build the Deployment Package.</p>
  
  <p>I was wondering if anyone knows how to change this setup so that I only have one build step on the main solution.  Is there any VSTS Task that will take the output from the build and create the Deployment Packages I need?  I need web.config transforms on the legacy ASP.Net project, but that's not supported with .NET Core, so I think that's where the hang-up is.  I know there is a way to create an Azure deployment solution that uses DSC and powershell to package and deploy everything, but that seems like overkill to me.  I have included the two MSBuild setups below.</p>
  
  <p>Legacy ASP.Net MSBuild Arguments:</p>
  
  <blockquote>
    <p>/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\App" /p:AutoParameterizationWebConfigConnectionStrings=False</p>
  </blockquote>
  
  <p>ASP.Net Core MSBuild Arguments:</p>
  
  <blockquote>
    <p>/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\RSD.zip" /p:DeployIisAppPath="Default Web Site"</p>
  </blockquote>