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
Iis 让TFS 2010生成服务器发布到同一文件夹并覆盖_Iis_Tfs_Build_Tfsbuild - Fatal编程技术网

Iis 让TFS 2010生成服务器发布到同一文件夹并覆盖

Iis 让TFS 2010生成服务器发布到同一文件夹并覆盖,iis,tfs,build,tfsbuild,Iis,Tfs,Build,Tfsbuild,我已经找了很久了,我很恼火,因为我想做的理论上很简单 我有一个web项目,当我告诉我的TFS将一个新构建排队时,我希望我发布的文件(或未发布的文件-我不在乎)最终位于静态文件夹中,如“C:\inetpub\myproj\webfiles” 我已经查看了这篇文章,这篇文章把我引向了这篇文章,但我就是不明白,它似乎不起作用 我已经设置好了我的构建定义,它成功地构建,甚至会构建到我指定的文件夹中,但一旦构建完成,它就会在一堆子文件夹中结束——其中一个文件夹附加了一个版本号,这意味着IIS在不重新配置的

我已经找了很久了,我很恼火,因为我想做的理论上很简单

我有一个web项目,当我告诉我的TFS将一个新构建排队时,我希望我发布的文件(或未发布的文件-我不在乎)最终位于静态文件夹中,如“C:\inetpub\myproj\webfiles”

我已经查看了这篇文章,这篇文章把我引向了这篇文章,但我就是不明白,它似乎不起作用

我已经设置好了我的构建定义,它成功地构建,甚至会构建到我指定的文件夹中,但一旦构建完成,它就会在一堆子文件夹中结束——其中一个文件夹附加了一个版本号,这意味着IIS在不重新配置的情况下不会自动获取我的最新版本。(我确实删除了版本绑定,但它不会用最新版本覆盖上一个版本)

我目前正在处理这些MSBuild参数,以尝试使其正常工作:

/p:DeployOnBuild=true;
DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder;
_PackageTempDir="\\HomeServer\inetpub\SiteTest";
AutoParameterizationWebConfigConnectionStrings=false
但有两点:

  • 从未创建“SiteTest”文件夹,并且
  • 它是通过共享位置访问的,而我也希望它是主服务器的本地文件系统

我只需要自动将我的web文件放入一个我可以为IIS预先确定的文件夹中,请帮助

我通过定制构建过程模板实现了这一点。制作DefaultTemplate.xaml(例如DefaultTemplateV2.xaml)的副本并打开它

如果您不熟悉使用工作流xaml编辑器,我发现先折叠所有文件会有所帮助

打开后,单击根序列并单击参数。添加三个参数:

  • DeployBuild(布尔值)默认为False
  • FromPath(字符串)
  • 安装路径(字符串)
  • 然后,在工作流中打开以下部分:

    • 运行代理
    • 尝试编译、测试和
    • 在“尝试打开序列”下
    在“获取受影响测试”之后的序列底部,。。打开工具箱并拖动“如果”工作流项。将条件设置为DeployBuild

    在If的Then部分,拖动CopyDirectory工作流项目。将目标设置为InstallPath,将源设置为InstallPath

    String.Format("{0}\{1}", BinariesDirectory, FromPath).
    
    保存并签入。您需要打开以前的版本,并注意要部署的版本子文件夹。它将类似于“发布网站\我的网站”

    编辑生成定义(可能必须先关闭并重新打开VS),然后转到“流程”选项卡。将生成过程模板更改为新版本

    将FromPath设置为您刚才注意到的路径。将InstallPath设置为目标文件夹的UNC路径(您需要确保运行构建的任何服务帐户都可以访问该路径),并将DeployBuild设置为True

    保存、排队生成并测试部署

    您还可以在工作流XAML中,转到参数并使用每个新参数编辑元数据参数。您可以设置查看它们的位置。例如,您可以将FromPath和InstallPath设置为仅在编辑定义时查看,而将DeployBuild设置为在对生成进行排队时查看。这样你就可以在排队时打开或关闭它


    祝你好运。

    你最好停止与之抗争,而是单独问一个问题,看看你想完成什么。你找到答案了吗?我从来没有找到,有办法实现它,但我现在租了一台TFS服务器,但它没有构建服务器:(抱歉:(谢谢Paul,这是一个期待已久的回答-但我们不再有构建服务器><我将标记您的答案,因为您似乎已经制定了定制构建输出的步骤并投入了大量研究。非常感谢