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_Wix_Windows Installer_Tfsbuild_Projects And Solutions - Fatal编程技术网

选择要放置TFS生成文件夹的内容

选择要放置TFS生成文件夹的内容,tfs,wix,windows-installer,tfsbuild,projects-and-solutions,Tfs,Wix,Windows Installer,Tfsbuild,Projects And Solutions,我有一个由TFS build创建的放置文件夹,其中包含所有生成的工件: 来自所有项目的.dll\.config\.pdb文件 _发布网站文件夹 *.msi文件由Wix项目生成 我真正关心的是*.msi文件,因为我部署的所有东西都在其中。 我如何才能指定TFS生成不需要处理Drop文件夹中的所有其他文件? 我知道我可以自定义生成以在解决方案生成后删除文件,但也许有一种聪明的方法可以完全禁用它们?我个人在我的SLN中使用命名平台,如应用程序和安装程序,这样当TFS归档放置文件夹时,一类文件进入一

我有一个由TFS build创建的放置文件夹,其中包含所有生成的工件:

  • 来自所有项目的.dll\.config\.pdb文件
  • _发布网站文件夹
  • *.msi文件由Wix项目生成
我真正关心的是*.msi文件,因为我部署的所有东西都在其中。
我如何才能指定TFS生成不需要处理Drop文件夹中的所有其他文件?

我知道我可以自定义生成以在解决方案生成后删除文件,但也许有一种聪明的方法可以完全禁用它们?

我个人在我的SLN中使用命名平台,如应用程序和安装程序,这样当TFS归档放置文件夹时,一类文件进入一个目录结构,另一类文件进入另一个目录结构。这样很容易找到MSI,也很容易看到之前的应用程序代码。(可能是添加到应用程序sln(而不是安装程序sln)的web.config或HTML的内容

如果您想禁止应用程序sln存档,您必须了解这一点。这不是MSI/WiX问题。

如果您使用TFS 2013(或VSO),您可以轻松地在构建后执行PowerShell,以执行所需的任何清理和重新排列

注意:生成使用根目录中的文件进行测试、代码分析、测试影响分析和其他自动操作。请确保仅在所有检查后删除文件。更好的方法是保留这些文件,然后将b*.msi文件推送到“/\u PublishedApplications/*文件夹

有一个PublishedApplication Nuget软件包可以让这变得更容易。看看


如果您使用的是TFS 2010/2012,则可以使用“TFS社区构建工具”“调用PowerShell并执行其他操作。

不要使用放置文件夹进行构建,只需拥有一个共享并将您的MSi复制到那里。这是一个好主意。但是,我计划在下一步使用此构建步骤中的放置文件夹进行实验室部署构建。将您的实验室设置为从放置位置(共享文件夹)拾取人工制品。”,您只需修改模板,如果两个生成同时运行并尝试写入同一网络共享,会发生什么?此外,如果我要将特定生成部署到实验室环境,该怎么办?(手动:队列新建>参数>实验室进程设置),这就是我仍然使用drop文件夹的原因;-)它已经版本化了,所以你不必担心它。将输出的其余部分放在drop文件夹中将有助于您进行长期调试,如果MSI中没有包含任何内容,您可以很容易地看到它是否包含在构建输出中,并可以找出它没有包含的原因。尽管这并不能回答问题,但还是要感谢您提出的有趣想法!我的主要目标是完全删除“应用程序”文件,因为文件放置文件夹稍后将用于实验室部署,我不认为在这些文件上乱动有任何意义。我想您可以创建一个CleanOutDir.proj,让它在编译结束时删除$(OutDir)(BinariesRoot)中的所有文件,除了*.msi。我认为这样的话,工作流程就不会那么需要归档了。是的,这是一个肯定会奏效的想法!现在我正在学习Microsoft.Common[.CurrentVersion].targets,看看是否可以关闭将特定文件\项目复制到$(OutDir)的功能