TFS 2018构建控制台应用程序不包含在构建产物中。

4

我正在搭建持续集成和持续交付基础设施,我的解决方案包括Web项目、dll文件和控制台应用程序。但问题在于,所有项目都被包含在构建工件中,除了控制台应用程序。这是我使用的默认MSBuild参数:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"
1个回答

5

生成控制台应用程序的exe和发布文件到构建工件目录中不需要任何项目特定的设置。

但是,如果您想将控制台应用程序包含在工件中,只需要添加一个复制文件步骤将控制台应用程序复制到$(build.artifactstagingdirectory)。当然,您需要首先确保已成功构建了控制台应用程序项目并生成了.exe文件。

Build.ArtifactStagingDirectory

代理服务器上本地路径,在将任何工件推送到其目的地之前,将任何工件复制到该路径下。例如:c:\agent_work\1\a。

使用此文件夹的典型方式是使用复制文件和发布构建工件步骤来发布您的构建工件。

您可以使用MSBuild任务和VisualStudioBuild任务分别构建控制台应用程序,并构建其余的应用程序。参考此类似主题:TFS 2015 CI - 在具有Web、控制台和WCF项目的解决方案中,控制台应用程序未生成构建工件


更新:

您可以将它们简单地复制到网站上。只需尝试使用Windows Machine File Copy任务来完成此操作,您也可以编写自己的脚本来完成此操作。

enter image description here


嗨,感谢您的帮助。我现在可以将exe复制到工件中,但是当我使用IIS Web部署将工件部署到IIS时,我的exe没有被复制。 - yo2011
@yo2011 这是预期的行为,你可以简单地将它们复制到网站上。只需尝试使用Windows机器文件复制任务来完成,你也可以编写自己的脚本来实现。 - Andy Li-MSFT
但是我原本期望这应该是IIS部署任务的一部分,因为这个任务是将构件部署到IIS服务器上的,明白吗? - yo2011
此外,CopyFile任务和Windows Machine File Copy之间有什么区别? - yo2011

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接