TFS 2017迁移后:如何发布构建文件并复制到服务器?
解决TFS 2017迁移后无法发布构建文件的问题
刚从XAML Builds转到TFS 2017的Build vNext,遇到构建正常但发布文件出不来的情况太常见了,我来给你捋捋怎么解决:
先确认构建流程里加了发布/打包任务
XAML Builds可能默认帮你完成了发布动作,但TFS 2017的Build vNext是模块化任务流,得手动添加对应步骤:- 如果是.NET项目,添加
DotNet Publish任务;针对.NET Framework老项目,用MSBuild任务并在参数里加上/t:Publish - 如果是ASP.NET这类Web项目,要确保在发布工件前,先执行了生成发布包的任务
- 如果是.NET项目,添加
配置正确的MSBuild参数
要是用MSBuild任务,得在参数里明确指定发布相关配置,比如:/p:DeployOnBuild=true /p:PublishProfile=YourProfileName.pubxml /p:Configuration=Release这里的
PublishProfile是你在Visual Studio里导出的发布配置文件,记得先把它提交到代码库中。检查输出路径和工件发布配置
确保发布任务把文件输出到了正确目录,比如$(Build.ArtifactStagingDirectory),然后在Publish Build Artifacts任务里,把这个目录设为「Path to publish」的来源。这样构建完成后,就能在Artifacts tab里看到发布好的文件了。验证项目文件的发布配置
打开你的.csproj/.vbproj文件,确认有没有类似下面的发布属性配置:<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PublishDir>bin\Release\Publish\</PublishDir> <DeployOnBuild>True</DeployOnBuild> <PublishProfile>FileSystem</PublishProfile> </PropertyGroup>如果缺失的话,手动补上,保证发布目录的配置正确。
检查构建代理的权限
要是你直接发布到目标服务器,得确认构建代理账号有目标路径的读写权限;就算是发布到构建工件目录,也要确保代理账号能写入该目录。
要是以上步骤都试过还是不行,去构建日志里找线索——看看发布步骤有没有报错,或者有没有生成文件的日志记录,比如「已成功发布XX文件到XX目录」,从日志里定位问题会更精准。
内容的提问来源于stack exchange,提问作者Sheikh Junaid
相关产品推荐
相关产品推荐

