如何从命令行发布Outlook Add-in并集成到TeamCity自动化构建?
针对.NET Framework 4.7.2 Outlook插件的命令行发布方案
不能直接使用dotnet publish命令完成发布,原因是dotnet publish主要针对.NET Core/.NET 5+项目,而基于.NET Framework的VSTO Outlook插件属于传统.NET项目,该命令无法完整复刻Visual Studio中的发布流程(比如生成VSTO专用的安装包、处理插件的发布配置)。
正确的做法是使用MSBuild命令行工具来执行发布操作,具体步骤如下:
1. 基础MSBuild发布命令
找到对应Visual Studio版本的MSBuild路径(以VS2022企业版为例),执行以下命令:
"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe" YourAddInProject.csproj /t:Publish /p:PublishDir="D:\TargetPublishFolder" /p:ApplicationVersion=1.2.3.4 /p:Configuration=Release
参数说明:
/t:Publish:指定执行发布目标/p:PublishDir:设置发布输出的目标文件夹/p:ApplicationVersion:传入自定义的版本号,覆盖项目文件中的版本配置/p:Configuration=Release:指定以Release配置进行发布
2. TeamCity集成要点
- 在TeamCity中添加「Command Line」构建步骤
- 为了避免硬编码MSBuild路径,可以先调用Visual Studio开发者命令提示符初始化环境:
"%VSINSTALLDIR%\Common7\Tools\VsDevCmd.bat" MSBuild.exe YourAddInProject.csproj /t:Publish /p:PublishDir="%teamcity.build.workingDir%\PublishOutput" /p:ApplicationVersion=%build.number% /p:Configuration=Release - 版本号可以直接使用TeamCity内置的
%build.number%参数,实现构建版本自动同步
3. 验证发布结果
执行命令后,检查发布目录中的文件结构、安装程序是否与Visual Studio手动发布的一致,测试安装/卸载流程是否正常。
内容的提问来源于stack exchange,提问作者AwkwardCoder
相关产品推荐
相关产品推荐

