如何消除Azure Builds中DotNetCoreCLI@2发布任务的多余win-x64文件夹
解决Azure Builds中DotNetCoreCLI发布多生成win-x64文件夹的问题
嘿,这个问题我之前也碰到过!你看到的多余win-x64文件夹,本质是因为你的FolderProfile发布配置里指定了运行时标识符(RID)为win-x64,而DotNet的publish命令默认会把输出文件嵌套在bin/[配置]/[框架]/[RID]/publish路径下,这就导致多了一层win-x64目录。
有两种简单的方法可以调整,你选哪种都行:
方法一:直接在DotNetCoreCLI任务里指定发布路径
修改任务的arguments参数,添加/p:PublishDir来指定最终的输出目录,比如直接指向构建工件目录下的publish文件夹:
- task: DotNetCoreCLI@2 displayName: Publish API Single File inputs: command: 'publish' arguments: '/p:PublishProfile=FolderProfile /p:PublishDir=$(Build.ArtifactStagingDirectory)/publish'
这样发布完成后,所有文件都会直接放到你指定的publish文件夹里,不会再嵌套win-x64层级。
方法二:修改PublishProfile配置文件
打开你的FolderProfile.pubxml文件,在<PropertyGroup>节点里添加PublishDir的配置,指定你想要的输出路径:
<PublishDir>$(Build.ArtifactStagingDirectory)/publish</PublishDir>
保存后,你的原任务配置不用做任何修改,发布时就会自动把文件输出到指定路径,跳过多余的win-x64文件夹。
另外要确认一下,你的FolderProfile里已经包含<PublishSingleFile>true</PublishSingleFile>(毕竟你是要单文件发布),这个配置不影响路径,只是保证生成单文件可执行程序。
内容的提问来源于stack exchange,提问作者Rod
相关产品推荐
相关产品推荐

