Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在TFS中具有不同的生成和删除目录结构_Tfs_Msbuild_Tfsbuild_Directory Structure - Fatal编程技术网

如何在TFS中具有不同的生成和删除目录结构

如何在TFS中具有不同的生成和删除目录结构,tfs,msbuild,tfsbuild,directory-structure,Tfs,Msbuild,Tfsbuild,Directory Structure,我有一个TFS构建配置,它构建了一个包含36个项目的解决方案。它们被分类在各种平台中,如“测试”、“WPF”和“WinRT”。我需要使用以下结构配置我的放置位置: /Solution /Tests /Project1.dll /Project2.dll /Project3.dll /WPF /Project4.dll /Project5.dll /Project6.exe /W

我有一个TFS构建配置,它构建了一个包含36个项目的解决方案。它们被分类在各种平台中,如“测试”、“WPF”和“WinRT”。我需要使用以下结构配置我的放置位置:

/Solution
    /Tests
        /Project1.dll
        /Project2.dll
        /Project3.dll
    /WPF
        /Project4.dll
        /Project5.dll
        /Project6.exe
    /WinRT
        /Project7.dll
        /Project8.dll
        /Project9.exe
我尝试为每个项目设置一个自定义输出目录,并为特定平台中的所有项目共享同一目录,但当其中两个项目复制构建目录中的共享依赖项时,这会导致构建失败。由于两个MSBuild实例可以尝试同时复制文件,其中一个实例可能会触发拒绝访问错误,因为另一个实例仍在写入文件


如果我可以有一个不同的构建和删除位置结构,我可以保留构建目录的默认结构,只让删除过程复制最终文件并跳过重复的依赖项。是否有一种方法可以自定义放置位置,使其与构建位置的结构不同?如何实现这样的设置?

查看有关自定义输出目录的讨论。HTH

查看有关自定义输出目录的讨论。HTH

默认的TFS构建将所有输出合并到一个目录中


我通常会编写一个powershell脚本,将一个大目录中的所有文件移动到我想要的文件夹结构中。我将把该脚本签入TFS,并自定义我的TFS构建以在最后一步运行该powershell脚本(就在它从$(SourcesDirectory)\Binares->$(BuildDropDirectory)复制文件夹之前)。默认TFS构建将所有输出合并到一个目录中


我通常会编写一个powershell脚本,将一个大目录中的所有文件移动到我想要的文件夹结构中。我将把该脚本签入TFS,并自定义我的TFS构建,以便在最后一步(就在它从$(SourcesDirectory)\Binares->$(BuildDropDirectory)复制文件夹之前)运行该powershell脚本。

我已经在使用自定义输出目录。问题是它们不能正确地实现我想要实现的目标。我希望在构建期间保留默认的输出目录,但我希望我的放置位置具有不同的结构。我想要的是,我的所有项目都建立在自己的目录中,然后将所有输出合并到一起,以创建最终的包。我已经在使用自定义输出目录。问题是它们不能正确地实现我想要实现的目标。我希望在构建期间保留默认的输出目录,但我希望我的放置位置具有不同的结构。我想要的是,我所有的项目都建立在自己的目录中,然后将所有的输出合并到一起,创建最终的包。看来这可能是我想要达到的目标的唯一解决方案。我会研究这个问题。看来这可能是我想要达到的目标的唯一解决办法。