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

如何在C#控制台应用中设置版本号?解决重复属性报错

C# CLI程序版本号设置问题解决

错误原因

你遇到的Duplicate 'AssemblyInformationalVersion' attribute错误,是因为.NET SDK风格的控制台项目(.NET Core/.NET 5及以上版本)默认会自动生成程序集版本相关属性,包括AssemblyInformationalVersion。手动创建AssemblyInfo.cs并添加该属性,会和自动生成的属性重复,导致冲突。

正确设置方法

方法一:直接通过项目文件(.csproj)配置(推荐)

这是当前.NET项目的标准做法,无需手动维护AssemblyInfo.cs:

  1. 打开项目的.csproj文件
  2. 在<PropertyGroup>节点中添加或修改以下版本相关属性:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <!-- 程序集版本,格式:主版本.次版本.生成号.修订号 -->
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
    <!-- 文件版本,可与程序集版本一致,也可独立设置 -->
    <FileVersion>1.0.0.0</FileVersion>
    <!-- 信息版本,支持添加预发布标签,比如1.0.0-beta -->
    <InformationalVersion>1.0.0.0</InformationalVersion>
  </PropertyGroup>
</Project>

保存文件后重新编译,版本信息即可生效。

方法二:使用自定义AssemblyInfo.cs(不推荐)

如果坚持要手动管理AssemblyInfo.cs,需要先禁用项目的自动生成属性功能:

  1. 在.csproj的<PropertyGroup>中添加:
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  1. 维护AssemblyInfo.cs文件,按需添加版本属性:
using System.Reflection;

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0.0")]

这样就不会再出现重复属性的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:23:10