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)
答案 0 :(得分:3)
没有
[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.revision'格式
但警告并不能阻止它发生。
答案 1 :(得分:0)
是,如果在AssemblyInfo.cs中定义了属性AssemblyFileVersionAttribute。如果在AssemblyInfo.cs中注释[assembly: AssemblyFileVersion("1.0.0.0")]
,则上述代码将抛出异常。