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

Asp.Net项目GenerateAssemblyInfo配置异常:文件找不到/重复程序集错误

解决方案:ASP.NET项目AssemblyInfo生成冲突问题

问题根源

你的项目存在两个矛盾问题:

  • 关闭GenerateAssemblyInfo时,主WebApi1项目尝试引用Controllers子项目obj目录下不存在的Controllers.AssemblyInfo.cs文件
  • 开启该配置时,全局或项目间重复生成程序集信息导致冲突

具体解决步骤

1. 修正WebApi1.csproj的文件引用

打开WebApi1.csproj,检查是否存在错误的<Compile>或<Content>项引用了Controllers子项目obj目录的文件。如果有,直接移除这些无效引用。

2. 统一全局AssemblyInfo生成策略

在根目录的Directory.Build.props中添加全局配置,确保所有项目一致关闭自动生成:

<PropertyGroup>
  <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
</PropertyGroup>

之后为每个项目手动添加AssemblyInfo.cs文件(放在项目根目录),示例代码:

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

[assembly: AssemblyTitle("WebApi1.Controllers")]
[assembly: AssemblyProduct("WebApi1.Controllers")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: ComVisible(false)]
[assembly: Guid("your-unique-guid-here")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

3. 清理项目缓存

  • 删除所有项目下的obj和bin目录
  • 执行命令行清理并重新构建:
    dotnet clean
    dotnet build
    

4. 验证项目引用路径

检查Controllers.csproj中的项目引用路径是否正确:

  • 确认../../CommonStuff/Core/ErrorHandling/ErrorHandling.csproj指向的文件实际存在
  • 确保WebApi1.csproj正确引用Controllers子项目:
    <ItemGroup>
      <ProjectReference Include="Controllers/Controllers.csproj" />
    </ItemGroup>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:47:13