求助:.NET 4.7.2项目在TeamCity生成的NuGet包含net48文件夹
解决.NET 4.7.2项目TeamCity打包生成net48文件夹的问题
检查项目文件的目标框架配置
打开项目的.csproj文件,确认<TargetFramework>(或<TargetFrameworks>)节点的值为net472,避免被其他配置覆盖:<TargetFramework>net472</TargetFramework>同时排查是否存在针对TeamCity构建的特殊
PropertyGroup,防止构建时强制切换到net48框架。验证TeamCity打包步骤的参数设置
- 如果使用TeamCity内置的NuGet Pack步骤,在配置页明确将Target Framework设置为
net472,不要留空或误选net48。 - 如果是通过命令行执行
nuget pack,确保命令中指定框架参数:nuget pack YourProject.csproj -Framework net472
- 如果使用TeamCity内置的NuGet Pack步骤,在配置页明确将Target Framework设置为
排查NuGet工具版本兼容性
检查TeamCity构建代理使用的NuGet.exe版本,部分高版本NuGet可能默认适配更高框架。可以切换到兼容.NET 4.7.2的NuGet版本(如NuGet 5.x系列),避免自动升级目标框架。清理构建缓存
在TeamCity构建步骤前添加清理操作,执行dotnet clean或msbuild /t:Clean命令,清除之前net48构建残留的缓存文件,确保全新构建打包。检查项目依赖的NuGet包
确认项目引用的NuGet包是否强制依赖net48,这类依赖可能间接导致打包框架版本被覆盖。替换为兼容net472的包版本即可解决。
内容的提问来源于stack exchange,提问作者ranjit powar
相关产品推荐
相关产品推荐

