assemblyinfo.cs ファイルには AssemblyVersion 属性がありますが、次を実行すると:
Attribute[] y = Assembly.GetExecutingAssembly().GetCustomAttributes();
私は得る:
System.Runtime.InteropServices.ComVisibleAttribute
System.Runtime.CompilerServices.RuntimeCompatibilityAttribute
System.Runtime.CompilerServices.CompilationRelaxationsAttribute
System.Runtime.InteropServices.GuidAttribute
System.Diagnostics.DebuggableAttribute
System.Reflection.AssemblyTrademarkAttribute
System.Reflection.AssemblyCopyrightAttribute
System.Reflection.AssemblyCompanyAttribute
System.Reflection.AssemblyConfigurationAttribute
System.Reflection.AssemblyFileVersionAttribute
System.Reflection.AssemblyProductAttribute
System.Reflection.AssemblyDescriptionAttribute
それでも、この属性がコードに存在することを数え切れないほどチェックしました。
[assembly: AssemblyVersion("5.5.5.5")]
...そして、直接アクセスしようとすると、例外が発生します:
Attribute x = Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyVersionAttribute)); //exception
その属性を使用することはできないと思いますが、.NET がそれを読み取らないのはなぜですか?