Visual Studio 2010有一个发布命令,允许您将Web应用程序项目发布到文件系统位置。我想在我的TeamCity构建服务器上执行此操作,因此我需要使用解决方案运行器或msbuild来完成此操作。我尝试使用Publish目标,但我认为那可能是针对ClickOnce的:
msbuild Project.csproj /t:Publish /p:Configuration=Deploy
我基本上想要做的是与Web部署项目完全相同,但没有插件。 我需要编译WAP,删除任何不必要的执行文件,执行任何web.config转换,并将输出复制到指定位置。
我的解决方案,基于Jeff Siver的答案
<Target Name="Deploy">
<MSBuild Projects="$(SolutionFile)"
Properties="Configuration=$(Configuration);DeployOnBuild=true;DeployTarget=Package"
ContinueOnError="false" />
<Exec Command=""$(ProjectPath)\obj\$(Configuration)\Package\$(ProjectName).deploy.cmd" /y /m:$(DeployServer) -enableRule:DoNotDeleteRule"
ContinueOnError="false" />
</Target>