版本号的问题

sulink 2008-07-31 10:27:30
我的程序版本是1.0.1.12了,但在启动窗口中显示的还是1.0.0.0

启动窗口里的代码是
Ver.Text = String.Format("版本 {0}", My.Application.Info.Version.ToString)

不知怎么回事
...全文
96 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dingjiahappy 2008-08-01
  • 打赏
  • 举报
回复
'  使用以下代码,将 Version 控件的设计时文本 
' 更改为“Version {0}.{1:00}.{2}.{3}”或类似格式,将内部版本和修订信息包括在内。
' 有关更多信息,请参阅帮助中的 String.Format()。
'
'Version.Text = System.String.Format(Version.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision)
yanlongwuhui 2008-08-01
  • 打赏
  • 举报
回复
查看下AssemblyInfo.vb中的<Assembly: AssemblyVersion("1.0.*")> 的信息
Bullatus 2008-07-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 firein 的回复:]
工程属性 =》 应用程序 =》版本信息 =》 改~~~~
[/Quote]
就是这个了
gyc 2008-07-31
  • 打赏
  • 举报
回复
1.0.1.12 这个版本 号 是如何获得的?

那个代码默认是现实 程序集的版本,
xiaohutushen 2008-07-31
  • 打赏
  • 举报
回复
FileVersionInfo myFileVersion = FileVersionInfo.GetVersionInfo(strFileFullName); 
String strFileVersion = string.Format("{0}.{1}.{2}.{3}",myFileVersion.FileMajorPart, myFileVersion.FileMinorPart, myFileVersion.FileBuildPart, myFileVersion.FilePrivatePart);


Assembly assembly = Assembly.LoadFrom(yourDll);
Version ver = assembly.GetName().Version;


System.Reflection.Assembly fileAssembly = System.Reflection.Assembly.LoadFrom(searchFile);
System.Version fileVersion = fileAssembly.GetName().Version;
firein 2008-07-31
  • 打赏
  • 举报
回复
工程属性 =》 应用程序 =》版本信息 =》 改~~~~
xhan2000 2008-07-31
  • 打赏
  • 举报
回复
重新生成看看
xiaohutushen 2008-07-31
  • 打赏
  • 举报
回复
1、
public void GetFileVersion() {
// Get the file version for the notepad.
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo("%systemroot%\\Notepad.exe");

// Print the file name and version number.
textBox1.Text = "File: " + myFileVersionInfo.FileDescription + '\n' +
"Version number: " + myFileVersionInfo.FileVersion;
}

2、
 // 有关程序集的常规信息是通过下列
// 属性集控制的。更改这些属性值可修改与程序集
// 关联的信息。
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

修改AssemblyInfo.cs文件的上述信息

在程序中调用如下:
Version ApplicationVersion = new Version(Application.ProductVersion);
string ss = ApplicationVersion.Major;//获取主版本号

3、
我认为比较好的做法
private void GetEdition()
{
Assembly assembly = Assembly.GetExecutingAssembly();
//this.labelEdition.Text = assembly.FullName;

// 获取程序集元数据
AssemblyCopyrightAttribute copyright = (AssemblyCopyrightAttribute)
AssemblyCopyrightAttribute.GetCustomAttribute(Assembly.GetExecutingAssembly(),
typeof(AssemblyCopyrightAttribute));
AssemblyDescriptionAttribute description = (AssemblyDescriptionAttribute)
AssemblyDescriptionAttribute.GetCustomAttribute(System.Reflection.Assembly.GetExecutingAssembly(),
typeof(AssemblyDescriptionAttribute));

this.labelAppName.Text = description.Description;
//this.labelEdition.Text = description.Description;
//this.labelEdition.Text = copyright.Copyright;
this.labelEdition.Text = Application.ProductVersion;
}


4、
使用反射

string path = @"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\System.dll";
Assembly assembly = Assembly.LoadFile(path);
AssemblyName assemblyName = assembly.GetName();
Version version = assemblyName.Version;
Console.WriteLine(assemblyName.FullName);
Console.WriteLine("Major Version = " + version.Major);
Console.WriteLine("Minor Version = " + version.Minor);
Console.WriteLine("Revision Version = " + version.Revision);
Console.WriteLine("Build Version = " + version.Build);

只要得到Assembly ,剩下的都好说,
楼主可以看看Assembly的几个静态方法,应该可以满足所有需要了
比如
//得到Mscorlib.dll
Assembly.GetAssembly(typeof(string))



posted @ 2007-12-15 02:28 赖文华(SWPU小赖) 阅读(248) 评论(0) 编辑 收藏

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧