MSBuild 2010 - 如何将Web应用程序发布到特定位置(nant)?

Mr.*_*ble 17 msbuild nant msbuild-task visual-studio-2010 nant-task

我正在尝试让MSBuild 2010将Web应用程序发布到特定位置.我可以将部署包发布到特定路径,但部署包然后添加自己的路径更改.

例如:如果我告诉它发布到C:\dev\build\Output\Debug那时实际的web文件最终在C:\dev\build\Output\Debug\Archive\Content\C_C\code\app\Source\ControllersViews\obj\Debug\Package\PackageTmpC_C路径的一部分改变(不确定它如何选择路径的这一部分).

这意味着我不能只从发布位置编写副本.

我现在正在使用这个nant/msbuild命令:

  <target name="compile" description="Compiles">
<msbuild project="${name}.sln">

  <property name="Platform" value="Any CPU"/>
  <property name="Configuration" value="Debug"/>
  <property name="DeployOnBuild" value="true"/>
  <property name="DeployTarget" value="Package"/>
  <property name="PackageLocation" value="C:\dev\build\Output\Debug\"/>
  <property name="AutoParameterizationWebConfigConnectionStrings" value="false"/>
  <property name="PackageAsSingleFile" value="false"/>

</msbuild>
Run Code Online (Sandbox Code Playgroud)

有关如何将Web文件直接发送到特定位置的任何想法?

Pav*_*uva 36

msbuild /t:Build;PipelinePreDeployCopyAllFilesToOneFolder /p:Configuration=Release;_PackageTempDir=C:\temp\somelocation;AutoParameterizationWebConfigConnectionStrings=false MyProject.csproj
Run Code Online (Sandbox Code Playgroud)

对应的NAnt脚本:

<msbuild project="MyProject.csproj" target="PipelinePreDeployCopyAllFilesToOneFolder">
  <property name="Configuration" value="Release" />
  <property name="_PackageTempDir" value="C:\temp\somelocation" />
  <property name="AutoParameterizationWebConfigConnectionStrings" value="false" />
</msbuild>
Run Code Online (Sandbox Code Playgroud)

参考

另请参阅团队构建:使用MSDeploy在本地发布