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

.NET 8升级项目文件资源管理器中文件版本显示0.0.0.0求助

解决.NET 8升级后文件版本显示0.0.0.0的问题

针对从.NET Framework升级到.NET 8后出现的文件版本/产品版本显示为0.0.0.0的问题,结合你的配置和场景,给出以下排查修复步骤:

1. 移除或禁用旧的AssemblyInfo.cs文件

.NET Core/.NET 5+默认会自动生成程序集信息(包括版本号),但从.NET Framework升级的项目通常会保留Properties/AssemblyInfo.cs文件。如果这个文件里的版本号仍为0.0.0.0(或未更新),会覆盖你在.csproj中配置的版本值:

  • 直接删除项目中Properties目录下的AssemblyInfo.cs文件;
  • 若需要保留该文件,可在.csproj中添加配置禁用自动生成,确保手动维护版本:
    <PropertyGroup>
      <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    </PropertyGroup>
    

2. 合并版本配置并显式指定完整属性

将所有版本相关属性合并到同一个<PropertyGroup>中,避免属性优先级冲突,同时显式指定完整的版本格式(推荐使用x.x.x.x格式),并添加InformationalVersion关联产品版本:

<PropertyGroup>
   <TargetFramework>net8.0-windows7.0</TargetFramework>
   <OutputType>WinExe</OutputType>
   <FileVersion>2.0.0.0</FileVersion>
   <AssemblyVersion>2.0.0.0</AssemblyVersion>
   <Version>2.0.0</Version>
   <InformationalVersion>2.0.0</InformationalVersion>
</PropertyGroup>

3. 检查全局配置文件是否覆盖版本

检查解决方案根目录下是否存在Directory.Build.props或Directory.Build.targets文件,这些全局配置会应用到所有项目,若其中包含FileVersion/AssemblyVersion的默认值为0.0.0.0,会覆盖你的项目配置。删除或修改这些文件中的版本配置即可。

4. 清理缓存并重新生成

旧的编译缓存可能导致版本号未更新,执行以下操作:

  • 在命令行运行:dotnet clean && dotnet build -c Release
  • 或在Visual Studio中依次执行:清理解决方案 → 生成解决方案

5. 刷新Windows资源管理器缓存

Windows资源管理器可能缓存了旧的文件属性,按F5刷新,或重启资源管理器(任务管理器中结束explorer.exe再重新启动)后查看版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 11:21:06