TFS 2015-Visual Studio生成步骤-控制发布位置的文件夹名称



我正试图使用web.config转换在内部部署的Team Foundation Server 2015上设置Build。基于我选择的构建配置,转换工作良好。我有3个构建配置:Debug、Release和我创建的一个名为"Staging"的配置。我正试图通过在队列时间设置$(BuildConfiguration)变量,使其能够在不同的环境中重复使用相同的Build。在TFS生成的"Visual Studio build"步骤中,当我将$(BuildConfiguration)设置为"debug"时,生成将输出到代理文件夹,如下所示:$(build.SourcesDirectory)\projectFolder\obj\debug\Package\PackageTmp。如果我将其设置为"release",那么它将转到$(Build.SourcesDirectory)\projectFolder\obj\release \Package\PackageTmp。在这两种情况下,Web.config文件都会正确转换。

但是,如果我将生成配置设置为"暂存",则文件仍会放在"调试"文件夹$(build.SourcesDirectory)\projectFolder\obj\debug\Package\PackageTmp中,而不是"暂存"文件夹中。(在这种情况下,转换也可以正常工作,并使用分段值)

这在我的"复制文件"步骤中产生了一个问题。在该步骤中,我的"源文件夹"值为$(Build.SourcesDirectory)\projectFolder\obj\$(BuildConfiguration)\Package\PackageTmp,但在使用"暂存"时,它找不到源文件夹,因为TFS将生成文件放在"调试"文件夹中。

是否有一种方法可以强制TFS将构建的项目(基本上是我的web应用程序文件)放置在与构建配置参数匹配的文件夹中,在本例中为"暂存"?

注意:最好不要使用web.config转换,而是构建一次,并允许在部署时对web.config进行转换(通过注入适当的值或使用MSDeploy参数)。

也就是说,您可以使用/p:OutDir=MSBuild参数控制输出文件夹。

但是,我怀疑您只需要在Visual Studio中打开您的项目设置,转到Build选项卡,并在那里设置一个适当命名的输出文件夹。

最新更新