【问题标题】:TFS 2018 Build Console Application doesn't get included in the build artifactTFS 2018 构建控制台应用程序未包含在构建工件中
【发布时间】:2018-05-23 17:31:16
【问题描述】:

我正在设置持续集成和持续交付基础架构,我的解决方案包含 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"

【问题讨论】:

    标签: tfs continuous-integration tfsbuild continuous-deployment


    【解决方案1】:

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

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

    Build.ArtifactStagingDirectory

    之前复制任何工件的代理上的本地路径 被推到目的地。例如:c:\agent_work\1\a。

    使用此文件夹的典型方法是发布您的构建工件 使用Copy files 和发布构建工件步骤。

    或者,您可以使用MSBuild 任务和VisualStudioBuild 任务单独构建控制台应用程序以构建其余应用程序。参考这个类似的线程:TFS 2015 CI - Build artifacts are not generating for Console application in the solution which has web, console and WCF projects


    更新:

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

    【讨论】:

    • 您好,感谢您的帮助。我现在可以将 exe 复制到工件,但是当我使用 IIS Web 部署将工件部署到 IIS 时,我的 exe 没有复制
    • @yo2011 这是预期的行为,您可以简单地将它们复制到网站。只需尝试使用Windows Machine File Copy 任务来执行此操作,您也可以编写自己的脚本来执行此操作。
    • 但我期待它成为 IIS 部署任务的一部分,因为此任务将工件部署到 IIS 服务器,明白了吗?
    • 另外,CopyFile 任务和 Windows 机器文件复制有什么区别
    猜你喜欢
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2018-08-15
    • 2018-11-02
    相关资源
    最近更新 更多