You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET6中如何将Package1的AutoMapper依赖降级至10.1.1

解决Package1依赖的AutoMapper版本降级问题

针对你的.NET6项目场景,有几种可行的解决方案,可根据实际情况选择:

方案1:全局降级AutoMapper到10.1.1(最简单)

如果你的BusinessLayer代码兼容AutoMapper 10.1.1版本,直接修改项目文件中的AutoMapper引用版本,NuGet会自动让Package1使用这个指定版本:

<PackageReference Include="AutoMapper" Version="10.1.1" />
<PackageReference Include="Package1" Version="4.0.1" />

修改后运行dotnet restore命令更新依赖即可。

方案2:强制Package1使用指定版本的AutoMapper(保留BusinessLayer的12.0.0)

如果BusinessLayer无法降级AutoMapper,需要让Package1单独使用10.1.1,可按以下步骤操作:

  1. 在项目文件中保留BusinessLayer的AutoMapper 12.0.0引用,同时手动添加AutoMapper 10.1.1的引用并配置使用范围:
<PackageReference Include="AutoMapper" Version="12.0.0" />
<PackageReference Include="Package1" Version="4.0.1">
  <!-- 排除Package1自动引入的AutoMapper依赖 -->
  <ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
<!-- 添加指定版本的AutoMapper供Package1使用 -->
<PackageReference Include="AutoMapper" Version="10.1.1">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime</IncludeAssets>
</PackageReference>
  1. 配置绑定重定向解决版本冲突,在项目文件的<PropertyGroup>节点中添加:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

运行dotnet restore后,系统会自动生成绑定重定向规则,确保不同组件调用对应版本的AutoMapper。

方案3:修改本地Package1的依赖配置(最彻底)

因为Package1是你本地开发的,直接修改它的项目文件,将AutoMapper的依赖版本从>=10.1.1改为[10.1.1, 12.0.0)(限制不使用12及以上版本),或者直接固定为10.1.1:

<!-- 在Package1的项目文件中修改 -->
<PackageReference Include="AutoMapper" Version="[10.1.1, 12.0.0)" />

重新打包Package1后,再在BusinessLayer项目中更新引用,NuGet会自动选择符合要求的10.1.1版本。

内容的提问来源于stack exchange,提问作者Ronak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 04:30:41