相关文章推荐
胡子拉碴的大葱  ·  security - SQL server ...·  1 年前    · 

程序集版本号:

在.net框架中和CLR运行时钟引用,如使用程序集的强命名时就会使用.
按照我的理解,你所使用的库如log4net,常见的有2.0和4.0的,那么你下载的库是否是你工程中用的库,就要看这个程序集版本号.
比如我自己写了一个库,叫Tool,程序集版本号是1.0.0.0,然后Work工程引用了这个dll.现在Tool更新了,程序集版本号变成了2.0.0.0,那么Work在不修改的情况下就不可以引用到2.0.0.0.

文件版本号:

专门显示在windows文件系统中,每次发布程序集时,如果是每天更新,应该只更新文件版本号,不要频繁更新程序集版本号,防止其他引用的人每天要修改.
应该尽量只更新文件版本号,这是微软开发者的初衷.

关于发布版本号管理

标准版本号物理形式表示为用句点隔开的四段数字,如下面的代码示例所示。
...

实际使用中,我们一般只用到前面三段。即
..

而且会分外部版本号和内部版本号:

2.2.2
1.1.0

程序显示的应该是外部版本号。
程序编译前用当前的内部版本号更新 AssemblyVersion 属性的 build number 段,非程序文件(如资源等)在打包、备份、打标签时统一使用内部版本号。

每个Assebmly包含三个Version
AssemblyFileVersion :存储在win32资源中, CLR不关心这个版本号,
AssemblyInformationnalVersion :存储在win32资源中, CLR不关心这个版本号,此版本号用来表示包含
Assembly的产品的版本
AssemblyVersion: 存储在AssemblyDef manifest metadata table中,CLR会使用这个版本号

工具的支持:
CSC.exe和AL.exe在每次build时可以自动增加AssemblyVersion, 但要慎用.改变一个Assembly的
AssemblyVersion会导致引用这个Assembly的其它Assembly无法工作.

在VS会为每一个.net Porject生成 AssemblyInfo.cs 可在其中设置相关的信息.
[assembly: AssemblyVersion(”1.0.0.0″)]
[assembly: AssemblyFileVersion(”1.0.1.0″)]
如果使用[assembly: AssemblyVersion(”1.0.*”)], 在每次程序修改后build或rebuild后, assembly的
AssemblyVersion的Build Number和 ReversionNumber和会自动增加.ReversionNumber每次都变,
Build Number随日期的变化而变化.

有没有什么工具可以显式地设置一个solution中所有的project的AssemblyVersion?

推荐工具Version Editor.从”工具->扩展和更新”下载,安装后从”视图->其他窗口->Version Editor”打开.
地址: https://visualstudiogallery.msdn.microsoft.com/9d7f7b91-3577-4e61-bb3f-a8dc0c453f75

以上文章综合于下述文章:
http://www.cnblogs.com/langu/archive/2013/03/25/2980971.html
http://bbs.csdn.net/topics/230066719

1.关于bin 目录和obj 目录 Bin 目录用来保存项目生成后 程序 ,它有Debug 和Release 两个 版本 ,分别对应的 文件 夹为bin/Debug 和bin/Release ,这 本文将为大家分享9款开源文档 管理 系统:Bitrix24、Kimios、OpenDocMan、Papermerge、Nuxeo、OpenKM、Teedy、 File Run、SeedDMS。 程序 版本号 在.net框架中和CLR运行时钟引用 如使用 程序 的强命名时 名称,公钥,语言区域, 程序 版本号 win32 文件 版本号 专门显示在windows 文件 系统中,每次 发布 程序 时,如果是每天更新,应该只更新 文件 版本号 ,不要频繁更新 程序 版本号 ,防止其他引用的人每天要修改,避免出错应该尽量只更新 文件 版本号 。  这是 微软开发者的初衷。... 上午在打开一个Asp.net网页时出现了这样的错误信息: 找到的名为“Infragistics.WebUI.UltraWebGrid.ExcelExport.v3.1”的 程序 清单定义与 程序 引用不匹配。 其中Infragistics.WebUI.UltraW... <!--应用 程序 策略: 应用 程序 策略可以在应用 程序 配置 文件 中进行配置,应用 程序 配置 文件 位于应用 程序 目录下。对于.EXE应用 程序 ,其配置 文件 由exe 文件 名加上.config后缀名构成,例如一个test.exe的应用 程序 ,其配置 文件 就是test.exe.config。 而对于任何一个Web应用 程序 来说,其配置 文件 文件 名都是web.config。--> 原文出处:http://blog.51testing.com/index.php?op=ViewArticle&articleId=128&blogId=9网上下载日常生活中接触到的的软件常常标有Beta版、Demo版等软件 版本 信息,这些 版本 信息实际上有其内在的含义。下面我们就将一些常见的软件 版本 信息向大家做一下介绍。 测试版与演示版α(Alpha)版此 版本 表示该软件仅仅是一个初步 一、获取 程序 版本 程序 代码 代码如下: label 版本 .Text = System.Reflection. Assembly .GetExecuting Assembly ().GetName(). Version .ToString(); 二、获取 文件 版本 程序 代码 代码如下: using System.Diagnostics; File Version Info my File Version = File Version Info.Get Version Info (System.Windows.Forms.Application.ExecutablePath); label 版本 .Text = my File