C#获取程序集自动增加的版本号和编译时间
1. 首先找到文件AssemblyInfo.cs, 路径如下:
2. 修改版本的格式,修改后,程序每次编译,程序集的版本号都会自增。
修改前:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
修改后:
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.*")]
3. 获取版本号和编译时间
var version = Assembly.GetExecutingAssembly().GetName().Version; GlobalConfig.Version = version.ToString(); GlobalConfig.DateTime = System.IO.File.GetLastWriteTime(this.GetType().Assembly.Location).ToString();
Note: C#下默认是每发布一次才增加,而生成时不会;修改版本的格式,修改后,程序每次编译,程序集的版本号都会自动增加。
CS8357 指定的版本字符串包含通配符,这与确定性不兼容。请删除版本字符串中的通配符,或禁用此编译的确定性。
直接编辑项目文件(csproj),修改:
<PropertyGroup> <Deterministic>False</Deterministic> </PropertyGroup>
将 deterministic 改为 false 即可。