新版本(AssemblyFileVersionAttribute.Version)是否总是成功?
本文关键字:成功 是否 AssemblyFileVersionAttribute Version 新版本 | 更新日期: 2023-09-27 18:12:52
new Version(AssemblyFileVersionAttribute.Version)
总能成功吗?
这是我的代码。
Contract.Ensures(Contract.Result<Version>() != null);
var ass = Assembly.GetExecutingAssembly();
var attributes = ass.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false).Cast<AssemblyFileVersionAttribute>();
var versionAttribute = attributes.Single();
return new Version(versionAttribute.Version)
No:
[assembly:AssemblyFileVersion("fred")]
static class program
{
static void Main()
{
var ass = Assembly.GetExecutingAssembly();
var attributes = ass.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false).Cast<AssemblyFileVersionAttribute>();
var versionAttribute = attributes.Single();
var ver = new Version(versionAttribute.Version);
}
}
注意这个会生成一个警告:
警告1程序集生成——为"文件版本"指定的版本"Fred"不在正常的"major.minor.build"中。修订的格式
但是警告并不能阻止它的发生。
是,如果在AssemblyInfo.cs中定义了属性AssemblyFileVersionAttribute。如果在AssemblyInfo.cs中注释了[assembly: AssemblyFileVersion("1.0.0.0")]
,上述代码将抛出异常。