默认的设置是这样。
1 [assembly: AssemblyVersion("1.0.0.0")]
2 [assembly: AssemblyFileVersion("1.0.0.0")]
我们需要将主版本号和子版本号填写好,因为这部分是不会频繁变动的,而编译版本使用通配符*代替,并将文件版本信息注释掉,设置起来像这样。
1 [assembly: AssemblyVersion("1.0.*")] 2 //[assembly: AssemblyFileVersion("1.0.0.0")] //如果需要自动增加版本号,需要注释这句代码,只用上面的一行
这样设置后生成的规则就是:编译版本号是自2000年1月1日以来的天数,而修正版本号会是当天自午夜零点以来的秒数除以2所得的值。
修改侯可能会提示:指定的版本字符串包含通配符,这与确定性不兼容。请删除版本字符串中的通配符,或禁用此编译的确定性
此时用记事本打开该项目的csproj文件,搜索Deterministic,将对应的选项由True改为False,或者直接删除该配置项即可。
<Deterministic>false</Deterministic>
我们看一个编译后的结果