我有 .NET 8 应用程序和 .csproj 文件:
<PropertyGroup>
<TargetFramework>net8.0-windows7.0</TargetFramework>
<OutputType>WinExe</OutputType>
</PropertyGroup>
<PropertyGroup>
<FileVersion>2.0.0</FileVersion>
<AssemblyVersion>2.0.0</AssemblyVersion>
<Version>2.0.0</Version>
</PropertyGroup>
我希望在 Windows 文件资源管理器中看到文件版本 - 类似于 2.0.0 或 2.0.0.0。但我看到的是文件版本和产品版本 0.0.0.0。
我尝试了不同的 csproj 属性格式,例如 2.0.0.0 或 2.0.0,但没有任何改变资源管理器零。
有什么建议如何设置文件资源管理器的属性吗?
(似乎问题是在项目从.NET Framework升级到.NET 8后出现的,我无法在独立的.NET 8项目中重现它)。
我的解决方案是删除升级过程(或启用)生成的行:
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
在项目文件夹文件 (
*.csproj)
) 中。然后,删除解决方案项目中的 obj
文件夹。
显然,生成并不是指项目级别,正如我第一次看到该行时所假设的那样,而是指构建的工件,然后该工件位于提到的
obj
文件夹中,并最终用于 exe/dll 编译.