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

.NET Framework 4.7.2项目更新Nuget包后报Duplicate BondCodegen错求解决

解决方案

步骤1:删除项目文件中显式声明的BondCodegen项

打开所有报错项目的.csproj文件,搜索所有<BondCodegen Include="xxx.bond" />格式的节点,全部删除。Bond 9.0.5默认会自动扫描项目目录下所有.bond文件并添加生成规则,旧版本手动添加的显式声明会和默认规则冲突。

步骤2:清理项目缓存

关闭Visual Studio,删除解决方案下所有项目的bin、obj目录,随后重新打开解决方案,右键解决方案选择「还原Nuget包」后重新编译。大部分版本更新后的缓存冲突都会通过这一步解决。

步骤3:若需手动管理.bond文件引入规则

如果你需要自行控制哪些.bond文件参与代码生成,不要直接删除自动扫描规则,在项目文件的首个<PropertyGroup>节点中添加如下配置即可关闭自动引入:

<EnableDefaultBondCodegenItems>false</EnableDefaultBondCodegenItems>

如果修改后仍然报错,可按提示添加<EnableDefaultCompileItems>false</EnableDefaultCompileItems>,但需注意添加后所有.cs文件也需要你手动在项目文件中声明Compile项才能参与编译

步骤4:单文件元数据配置规范

如果需要给单个.bond文件设置特殊生成规则(比如自定义命名空间、生成选项等),不要使用Include语法添加重复项,改用Update语法修改已有项的元数据,示例如下:

<BondCodegen Update="Entities/Order.bond">
  <Namespace>YourProject.Business.Entities</Namespace>
</BondCodegen>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:09:03