C# 新版本(AssemblyFileVersionAttribute.Version)是否总是成功?
C# 新版本(AssemblyFileVersionAttribute.Version)是否总是成功?,c#,.net,.net-assembly,C#,.net,.net Assembly,新版本(AssemblyFileVersionAttribute.Version)是否总是成功 这是我的密码 Contract.Ensures(Contract.Result<Version>() != null); var ass = Assembly.GetExecutingAssembly(); var attributes = ass.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false).Cast&l
新版本(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)
Contract.Contract(Contract.Result()!=null);
var ass=Assembly.getExecutionGassembly();
var attributes=ass.GetCustomAttributes(typeof(AssemblyFileVersionAttribute),false).Cast();
var versionAttribute=attributes.Single();
返回新版本(versionAttribute.Version)
否:
[汇编:AssemblyFileVersion(“fred”)]
静态类程序
{
静态void Main()
{
var ass=Assembly.getExecutionGassembly();
var attributes=ass.GetCustomAttributes(typeof(AssemblyFileVersionAttribute),false).Cast();
var versionAttribute=attributes.Single();
var ver=新版本(versionAttribute.Version);
}
}
请注意,这会产生一个警告:
警告1程序集生成--为“文件版本”指定的版本“Fred”不是正常的“major.minor.build.revision”格式
但是警告并不能阻止它发生。是的,如果AssemblyInfo.cs中定义了属性AssemblyFileVersionAttribute。如果在AssemblyInfo.cs中注释了
[assembly:AssemblyFileVersion(“1.0.0.0”)]
,则上述代码将引发异常。@Nick,因为AssemblyFileVersionAttribute
可以包含任意字符串
[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);
}
}