C#编译自动增加文件的版本号
IDE:Visual Studio 2019
项目中的AssemblyInfo.cs中:
//[assembly: AssemblyVersion("1.1.*")]
[assembly: AssemblyVersion("1.1.0.*")]
//[assembly: AssemblyFileVersion("1.1.0.0")]
增加*
如果编译环境提示错误,在项目文件定义(xxx.csprj)中
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{xxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxx}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>xxxxxx</RootNamespace>
<AssemblyName>xxxx</AssemblyName>
<TargetFrameworkVersion>v1.1.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>false</Deterministic>
</PropertyGroup>
Deterministic的值改为false
编译项目,结果查看,编译生成的文件右键——属性——详细信息,产品版本:1.1.0.34120。34120即为编译次数。
程序代码调用示例:
string path = $"{System.Windows.Forms.Application.StartupPath}\\XXXX.DLL";
Assembly assembly = Assembly.LoadFile(path);
AssemblyName assemblyName = assembly.GetName();
Version version = assemblyName.Version;
Console.WriteLine(assemblyName.FullName);
string a = version.Major.ToString();
string b = version.Minor.ToString();
string c = version.Revision.ToString();
string d = version.Build.ToString();
MessageBox.Show($"Major:{a} Minor:{b} Revision:{c} Build:{d}");
string d为编译次数。