Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 新版本(AssemblyFileVersionAttribute.Version)是否总是成功?_C#_.net_.net Assembly - Fatal编程技术网

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);        
    }
}