Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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
C# 针对IIS的C~(ASP.NET)应用程序的Team Foundation服务器生成过程_C#_Asp.net_Tfs_Tfsbuild - Fatal编程技术网

C# 针对IIS的C~(ASP.NET)应用程序的Team Foundation服务器生成过程

C# 针对IIS的C~(ASP.NET)应用程序的Team Foundation服务器生成过程,c#,asp.net,tfs,tfsbuild,C#,Asp.net,Tfs,Tfsbuild,提出问题后:我已经决定也许我对这个问题的看法是错误的 其目的是建立一个构建定义,在运行时将C#ASP.net应用程序重新部署到当前正在运行的IIS服务 我可以手动更新应用程序目录中的文件,但这是一个手动过程。我在考虑如何从TFS 2012 Express构建过程xaml工作流文件中执行批处理脚本,但随后考虑到TFS构建工作流xaml必须已经有一个用于发布/打包/部署ASP.net应用程序到IIS服务/目录的构建元素,我只需要知道它的调用方式和操作方法是吗 有人能评论吗 我使用Team Found

提出问题后:我已经决定也许我对这个问题的看法是错误的

其目的是建立一个构建定义,在运行时将C#ASP.net应用程序重新部署到当前正在运行的IIS服务

我可以手动更新应用程序目录中的文件,但这是一个手动过程。我在考虑如何从TFS 2012 Express构建过程xaml工作流文件中执行批处理脚本,但随后考虑到TFS构建工作流xaml必须已经有一个用于发布/打包/部署ASP.net应用程序到IIS服务/目录的构建元素,我只需要知道它的调用方式和操作方法是吗

有人能评论吗

我使用Team Foundation Server Express 2012。< /P> 我的TFS生成过程编辑屏幕如下所示:


我通过使用InvokeProcess活动调用powershell脚本来实现这一点。powershell脚本存储在TFS中,并将执行我的WebDeploy包(该包在同一版本中或在单独的TFS版本中早期构建)


在TFS 2013中,默认模板(TfvcTemplate.12.xaml)包含钩子,可以在工作流的各个点轻松调用powershell脚本,而无需修改工作流(只需在生成定义中指定路径)。我知道您没有使用2013,所以您仍然需要编辑工作流。我只是想指出,这被认为是一种最佳实践,而MS在TFS 2013中认识到这一点更容易做到这一点。

< P>一个内置的Team Foundation Server基于XAML工作流,它包含构建运行时所采取的所有步骤。

在屏幕截图的顶部,您可以看到您正在使用默认模板(DefaultTemplate.11.1.xaml)

此文件位于源控件中名为“生成定义”的文件夹中。编辑此文件并检查生成工作流中的更改

执行此操作所需的步骤可在此处找到:


自定义生成过程模板是向生成添加额外功能的推荐方法。正如迪伦已经指出的,社区中有很多信息。ALM Rangers提供了指导,但也提供了一套现成的指导。

如何从power shell脚本执行web部署包?你知道我如何从2012年开始达到类似的程度吗,因为默认模板不提供invokeprocess选项,我也找不到手动添加它的指南。2012确实包含invokeprocess活动。当您的构建发布WebDeploy(使用MSBuild参数:/p:DeployOnBuild=True/p:DeployTarget=Package)时,它将生成一个WebDeploy包,其中包含一个可以部署它的.cmd批处理文件。在powershell中,您只需调用.cmd文件即可执行WebDeploy。如果您需要有关自定义构建工作流的信息,请参阅此处的Rangers指南:请参阅上图中我在TFS构建过程中看到的内容。-我不知道在哪里添加InvokeProcess活动…是否需要在VS中打开特定窗口?屏幕截图是一个生成定义,生成定义由流程模板驱动。流程模板显示在图像的下拉列表中。您需要从源代码管理打开流程模板。然后可以使用调用流程活动更新xaml/工作流。这很有用。我已经签出了BuildDefinitions,但是我无法打开和可视化它们,因为它说不能在x64和ARM处理器上可视化…但是,如果我知道我需要的特定标记,我可以手动编辑它们!有什么想法吗?不是在x64处理器上?真奇怪。。我正在运行64位,我可以编辑文件。您使用的是哪个版本的Visual Studio?我可以编辑它,但不能直观地进行编辑…我有Visual Studio express 2013版本12.0.21005.1REL-现在,当我尝试右键单击xaml文件并说“显示视图设计器”时,它什么都不做。。。!我为这个问题添加了一个新帖子: