2016-09-02 57 views
1

我正在为构建和部署设置TFS 2015。但我开始注意到,在TFS中发布的文件与我在Visual Studio中右键单击并公开该项目时发布的文件看起来不像是相同的文件(即在VS中,我的出版物不适用包含.cs文件等)。TFS构建定义 - 仅部署运行此应用程序所需的文件

在TFS我生成步骤:

  • Visual Studio中建立 enter image description here

  • 复制文件(到构建文件复制到一个临时目录) enter image description here

  • 发布编译文物(去文件共享位置,我将然后部署) enter image description here

我非常希望在构建步骤(Deploy下)列表中看到Web-Deploy/MSDeploy。

有没有人遇到过这个,并想出了发生了什么?请让我知道你是否需要关于我当前配置的更多细节。

感谢

**** ****编辑

好吧,我一直在学习了很多关于我所期望看到的,它看起来像我需要我的生成要经过预编译。从我读过的项目中我目前正在研究的是WAP,因此作为每个出版物的一部分进行了预编译。这将代码(.cs文件)移动到各自的DLL中。

因此,我已经开始考虑应用批处理脚本来启动ASP.NET aspnet_compiler.exe来执行预编译的路线 - 但我收到了有关web.config的各种错误。

这对于TFS Build ..而言可能会很简单的事情已经开始变得非常痛苦了。这是微软的后遗症!

+0

您可以在问题中添加详细构建步骤'复制文件'和'发布构建文物'? –

+0

嗨帕特里克 - 我已经添加了我上面设置的每个任务的屏幕截图。在进一步的调查结束后,我还在****编辑****下添加了更多信息。我很惊讶,在TFS发布管理中复制'右键单击>发布'功能似乎非常困难...?!所以我觉得我必须错过一些非常基本的东西?! – CJH

回答

0

在vNext构建中,使用“复制文件”和“发布构建工件”步骤来发布构建工件。尝试在代理中使用本地路径,其中任何工件在被推送到其目的地之前被复制到该代理。例如:

  1. 添加/号码:DeployOnBuild =真 /P:OUTDIR = “$(build.artifactstagingdirectory)\” 在Visual Studio中 参数生成步骤;
  2. 更改 “路径发布” 的Publish Build Artifacts任务到 $(build.artifactstagingdirectory)\_PublishedWebsites\ProjectName
+1

我刚刚尝试过您的示例并正在构建失败...我猜测这是因为我在解决方案级别而不是项目级别构建(我已经添加了关于我如何设置事物的原始问题的截图)。 – CJH

+0

你需要在你的msbuild参数中添加'/ p:DeployOnBuild = true/p:OutDir =“$(build.artifactstagingdirectory)\\”',而不需要复制任务。由于这将直接发布您的构建工件。详细请认真检查构建步骤的截图与埃迪在这个答案的答案:http://stackoverflow.com/questions/38979398/how-do-i-get-the-the-expected-output-from-a-tfs -2015建造配搭-MY-XAML的裴/ 39011460#39011460。 –

+1

非常感谢帕特里克!到底有多容易......!我很高兴我不需要开始搞乱aspnet_compiler。 – CJH

相关问题