使用VS2010目标从MSBuild脚本发布Web应用程序将重置工作目录

时间:2010-09-01 13:40:04

标签: visual-studio-2010 deployment msbuild continuous-integration

我正在尝试从构建脚本自动发布和部署我的.Net 4 Web应用程序,以便由我们的持续集成服务器运行。我正在使用VS2010的新_WPPCopyWebApplication目标来执行发布,但它似乎将msbuild项目的当前工作目录重置为c:\这会导致我的预建步骤失败,因为它们具有一些外部工具的相对路径。我从master.build文件运行的任务如下:

<Target Name="PublishWeb">
    <MSBuild 
        Projects="$(ProjectPath)"
        Targets="ResolveReferences;_WPPCopyWebApplication"
        Properties="WebProjectOutputDir=$(DeployPath);OutDir=$(TempOutputFolder)$(WebOutputFolder)\;OutputPath=$(ProjectPath)\bin\Debug;" />
</Target>    

使用旧版_CopyWebApplication时不会发生这种情况。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

有两种可能性浮现在脑海中:

  1. 使用Exec任务调用msbuild.exe,并提供特定的工作目录。
  2. 您的预构建步骤由MSBuild评估,并且可以引用任何MSBuild属性,因此请将您的路径设置为特定的内容,例如$(MSBuildProjectDirectory)$(MSBuildThisFileDirectory),而不是仅相对于当前目录