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

VS2022中无法为DLL设置文件或程序集版本问题求助

解决VS2022升级DLL项目版本信息不生效问题

排查步骤与解决方案

1. 清理冲突的AssemblyInfo.cs文件

升级后项目可能遗留旧的Properties/AssemblyInfo.cs,其中的硬编码配置会覆盖csproj的设置:

  • 打开该文件,删除或注释掉以下行:
    [assembly: AssemblyVersion("x.x.x.x")]
    [assembly: AssemblyFileVersion("x.x.x.x")]
    [assembly: AssemblyCopyright("xxx")]
    
  • 让csproj中的版本配置成为唯一生效源。

2. 确认csproj配置格式正确性

确保SDK风格项目的csproj中版本配置位于主<PropertyGroup>下,无嵌套冲突:

<PropertyGroup>
  <TargetFramework>net6.0</TargetFramework> <!-- 对应你的目标框架 -->
  <Version>1.2.3.4</Version>
  <FileVersion>1.2.3.4</FileVersion>
  <AssemblyVersion>1.2.3.4</AssemblyVersion>
  <Copyright>© 2024 你的版权信息</Copyright>
</PropertyGroup>

注意:不要将这些配置放在Release/Debug专属的PropertyGroup中,除非你需要分环境配置版本。

3. 彻底清理并重建项目

  • 右键解决方案选择清理解决方案,手动删除项目的bin和obj目录
  • 执行重新生成解决方案,避免旧编译缓存导致版本信息未更新

4. 修正NuGet包版本映射

若NuGet包版本与DLL版本不符,在csproj中添加版本关联配置:

<PropertyGroup>
  <PackageVersion>$(Version)</PackageVersion> <!-- 让NuGet版本同步项目版本 -->
</PropertyGroup>

确保打包时未手动指定固定版本,覆盖项目变量。

5. 验证版本信息的正确方式

  • 使用PowerShell命令精准查看:
    Get-Item .\你的DLL文件.dll | Select-Object VersionInfo
    
  • 或用ILDasm工具打开DLL,查看程序集元数据中的版本信息,确认是否嵌入成功

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 10:34:52