I've inherited a VB.Net codebase which was VB 2005 and upgraded to VB 2008 consisting of around 100 projects
I'm trying to re-version all of the components but have discovered some of the AssemblyInfo.vb files have an AssemblyFileVersion
entry and some have an AssemblyFileVersionAttribute
entry.
Also, some have an AssemblyVersion
entry and some have an AssemblyVersionAttribute
entry.
What is the difference between with and without Attribute
?
Which ones should I be using?
There is no difference. Just as int
will resolve to System.Int32
, any type derived from Attribute
is treated specially by the compiler. So...
[MyCustom]
will resolve to [MyCustomAttribute]
By convention, all attribute names end with the word "Attribute" to distinguish them from other items in the .NET Framework. However, you do not need to specify the attribute suffix when using attributes in code. For example, [DllImport] is equivalent to [DllImportAttribute], but DllImportAttribute is the attribute's actual name in the .NET Framework.