C#.net中(exe,dll)文件版本生成问题?

大户翁 2003-05-23 01:05:12
我在C#.net中生成(exe,dll)时可以生成一版本号
不知其生成规则是什么?
我修改了时间 好象和其有关系
但不知 (时间 和版本号)的折算关系
求援 ,急(十万火)
万分感激!
...全文
534 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheAres 2003-05-24
  • 打赏
  • 举报
回复
.Net中这个版本号是这样定义的:

major.minor.build.revision

一般major.minor都是你自己定义的,比如1.1,1.2

后面两个也可以自己指定,比如1.1.1.1,但是一般都不这么做,因为它还有一些隐含的含义。
比如,在AssemblyInfo.cs文件中,你可以看到下面这样一行来定义了版本。
[assembly: AssemblyVersion("1.0.*")]

当后面加*号的时候,表示用系统指定的含义(编译器来控制)。
build 等于自当地时间 2000 年 1 月 1 日以来的天数
revision等于自当地时间午夜以来的秒数/2
大户翁 2003-05-24
  • 打赏
  • 举报
回复
多谢 老班 结贴
starky 2003-05-23
  • 打赏
  • 举报
回复
up
sim 2003-05-23
  • 打赏
  • 举报
回复
good,又长知识了。:)
goingway 2003-05-23
  • 打赏
  • 举报
回复
时间和版本号没有任何关系,.net中版本号构成[主版本号,次版本号,修改次数,编译次数]
其中你每编译一次,最后一节会自动增加......
kld3000 2003-05-23
  • 打赏
  • 举报
回复
主程序集使用版本控制来确定是否加载资源。每一主程序集都具有 SatelliteContractVersionAttribute 类,该类确定哪些附属程序集将与主程序集一起使用。对于可供使用的已本地化的资源,主程序集的附属合同版本必须匹配您的附属程序集的 AssemblyVersionAttribute 类。您必须在 SatelliteContractVersionAttribute 中指定确切版本号;不允许使用像“*”这样的通配符。

SatelliteContractVersionAttribute 类使您可以不必更新附属程序集就更新主程序集,反之亦然。当更新主程序集时,其程序集版本号发生更改。如果想要继续使用现有附属程序集,则更改主程序集的版本号,但保持附属合同版本号不变。例如,在您的第一版中,主程序集版本可以是 1.0.0.0。附属合同版本和附属程序集的程序集版本也将是 1.0.0.0。如果您需要为 Service Pack 更新主程序集,则可以将程序集版本更改为 1.0.0.1,而将附属合同版本和附属程序集的程序集版本保持为 1.0.0.0。

如果您需要更新附属程序集而不是主程序集,则可以更改该附属程序集的 AssemblyVersionAttribute。您还必须将策略程序集与附属程序集一起提供,策略程序集指示新的附属程序集与旧的附属程序集兼容。有关这些策略的更多信息,请参阅运行库如何定位程序集。

下面的代码说明如何设置附属合同版本。该代码可以放置在生成脚本中,或者 AssemblyInfo.vb 或 AssemblyInfo.cs 文件中。

' Visual Basic
<Assembly: SatelliteContractVersionAttribute("4.3.2.1")>

// C#
[assembly: SatelliteContractVersionAttribute("4.3.2.1")]
大户翁 2003-05-23
  • 打赏
  • 举报
回复
up
CMIC 2003-05-23
  • 打赏
  • 举报
回复
学习
大户翁 2003-05-23
  • 打赏
  • 举报
回复
up
CO2003 2003-05-23
  • 打赏
  • 举报
回复
在C#的每一个工程都有一个AssemblyInfo.cs文件,里边包含对版本号的控制,主要是
[assembly: AssemblyVersion("1.0.*")]这一行,你可以按需求修改,默认情况下是自动加1的。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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