I want to display my application version number within my application, and the simplest way to do this is to use the version number for the assembly.
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
var name = assembly.GetName();
return String.Format("Version {0}.{1}", name.Version.Major, name.Version.Minor);
I can get the executing assembling without problem, but the call to GetName() returns a MethodAccessException with this message
Attempt by security transparent method 'MainPage..ctor()' to access security critical method 'System.Reflection.Assembly.GetName()' failed.
Why is this happening, is there anything I can do about it, and if not is there another means of retrieving the assembly version?
The Assembly.GetName is marked with SecurityCriticalAttribute attribute try using
GetCallingAssembly().FullNameand scrape the version info out of it.from: http://msdn.microsoft.com/en-us/library/9w2wdeze(VS.95).aspx