如何在编译后自动将.NET 6控制台程序通过csproj发布到文件夹
在.NET 6.0 csproj中实现自动化发布到linux-x64
问题场景
我有一个.NET 6.0应用的csproj文件,需要将其发布到linux-x64目标文件夹。已经创建好发布配置文件,但不清楚如何在csproj中配置以实现自动化发布。我了解可以通过dotnet publish /p:PublishProfile=xxx的命令行方式使用发布配置文件,但希望直接在csproj的XML配置中完成自动化发布逻辑。
解决方案
直接在csproj文件中添加以下配置即可实现自动化发布,该方案由Anthony提供,实际使用效果良好:
<PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <RuntimeIdentifiers>linux-x64</RuntimeIdentifiers> </PropertyGroup> <Target Name="PostBuild" AfterTargets="PostBuildEvent"> <Exec Command="dotnet publish -p:PublishProfile=FolderProfile --no-build" /> </Target>
关键注意点
<RuntimeIdentifiers>指定了目标运行时为linux-x64,确保发布产物适配该环境- 新增的
PostBuild目标会在构建完成后自动执行发布命令 - 必须添加
--no-build参数,避免重复构建,提升效率
内容的提问来源于stack exchange,提问作者philippe
相关产品推荐
相关产品推荐

