Azure DevOps构建.NET 8 Windows服务生成单文件的MSBuild参数配置求助
问题
我正在使用本地Azure DevOps Server构建基于C#的.NET 8.0.204 Windows服务解决方案,目前已能生成可用于发布的制品,但存在以下问题:
- 在Visual Studio发布向导中,可通过发布配置文件设置“自包含”部署模式、目标运行时及“生成单文件”选项,生成的bin目录文件极少;
- 在Azure DevOps中构建时缺少这些设置,bin目录内容繁多。
我认为需在MSBuild参数中添加/P:参数,但未找到适用于控制台项目的最新示例,特此求助。
解决方法
在Jonathan的帮助下,我找到了解决方案:
- 使用FolderPublish选项创建新发布配置文件,该配置会在bin目录下生成publish文件夹,并设置“自包含”和“生成单文件”标记;
- 记录目标运行时(win-x64),在发布配置文件(
.pubxml)中添加:
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
同时需在项目文件(.csproj)中添加复数形式的该属性:
<RuntimeIdentifiers>win-x64</RuntimeIdentifiers>
若无此设置,构建前的还原步骤将无法下载正确运行时;
3. 在MSBuild步骤的参数行添加以下两个必要参数:
-t:publish -p:PublishProfile=MyProfile.pubxml
- 构建完成后,通过“复制文件”步骤将publish目录中的文件复制到制品暂存目录。
内容的提问来源于stack exchange,提问作者AndyW
相关产品推荐
相关产品推荐

