我正在设置持续集成和持续交付基础架构,我的解决方案包含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"
答案 0 :(得分:3)
在构建工件目录中为控制台应用程序生成exe
和释放文件时,不需要任何特定于项目的设置。
但是,如果要在工件中包含控制台应用程序,只需添加复制文件步骤即可将控制台应用程序复制到$(build.artifactstagingdirectory)
。当然,您需要首先确保已构建控制台应用程序项目并成功生成.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任务来执行此操作,您也可以编写自己的脚本来执行此操作。