猿问

如何使用msbuild发布Web?

Visual Studio 2010具有“发布”命令,该命令允许您将Web应用程序项目发布到文件系统位置。我想在TeamCity构建服务器上执行此操作,因此需要使用解决方案运行程序或msbuild进行操作。我尝试使用发布目标,但我认为这可能适用于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="&quot;$(ProjectPath)\obj\$(Configuration)\Package\$(ProjectName).deploy.cmd&quot; /y /m:$(DeployServer) -enableRule:DoNotDeleteRule" 

          ContinueOnError="false" />

</Target>


开满天机
浏览 1008回答 3
3回答

冉冉说

使用VS 2012中引入的部署配置文件,可以使用以下命令行发布:msbuild MyProject.csproj /p:DeployOnBuild=true /p:PublishProfile=<profile-name> /p:Password=<insert-password> /p:VisualStudioVersion=11.0有关参数的更多信息,请参见this。

墨色风雨

我想出了这样的解决方案,对我来说非常有用:msbuild /t:ResolveReferences;_WPPCopyWebApplication /p:BuildingProject=true;OutDir=C:\Temp\build\ Test.csproj秘诀是_WPPCopyWebApplication目标。
随时随地看视频慕课网APP
我要回答