我正在研究一个程序,我正在尝试显示程序集FILE版本
public static string Version
{
get
{
Assembly asm = Assembly.GetExecutingAssembly();
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(asm.Location);
return String.Format("{0}.{1}", fvi.FileMajorPart, fvi.FileMinorPart);
}
}
Run Code Online (Sandbox Code Playgroud)
目前,这只返回"AssemblyVersion"中的前两个版本号,而不是"AssemblyFileVersion".我真的很想引用AssemblyFileVersion,而不是存储一个名为"Version"的内部变量,我必须更新它和程序集版本......
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("3.5.0")]
Run Code Online (Sandbox Code Playgroud)
那是AssemblyInfo.cs中的AssemblyFileVersion.我想引用"3.5.x"部分,而不是"1.0.*":/
谢谢,扎克
我想在我的应用程序中显示我的应用程序版本号,最简单的方法是使用程序集的版本号.
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
var name = assembly.GetName();
return String.Format("Version {0}.{1}", name.Version.Major, name.Version.Minor);
Run Code Online (Sandbox Code Playgroud)
我可以毫无问题地获得执行组装,但是调用GetName()返回MethodAccessException带有此消息的a
尝试使用安全透明方法'MainPage..ctor()'来访问安全关键方法'System.Reflection.Assembly.GetName()'失败.
为什么会发生这种情况,有什么我可以做的,如果没有,还有其他方法来检索汇编版本吗?