简单一招,使解决方案下的项目版本号统一

    解决方案下的项目往往需要让生成的程序集版本号统一,最简单的方式当然是打开每一个项目下的AssemblyInfo.cs文件修改,或者使用项目属性修改。最近,发现还有一种更简单的方式,下面仔细介绍它。

步骤1、创建一个SolutionInfo.cs的文件,放到解决方案下。内容类似为:

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

[assembly: AssemblyCompany("ProJKY")]
[assembly: AssemblyProduct("ProJKY Architecture")]
[assembly: AssemblyCopyright("Copyright ? ProJKY 2013")]

// 这里修改你要统一的版本号,注意文件版本号与程序集版本号一致
[assembly: AssemblyVersion("2.5.0.6")]
[assembly: AssemblyFileVersion("2.5.0.6")]

步骤2、将SolutionInfo.cs添加到解决方案中,注意不是任何一个项目下。直接在解决方案资源管理器中,选中解决方案,右键,添加现有项,将SolutionInfo.cs添加进来即可。

步骤3、修改各个项目下的AssemblyInfo.cs,删除其中的版本号等特性信息,在我的例子里面,就是删除下面的几行代码:

[assembly: AssemblyCompany("ProJKY")]
[assembly: AssemblyProduct("ProJKY Architecture")]
[assembly: AssemblyCopyright("Copyright ? ProJKY 2013")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

步骤4、在每个项目上添加已有项,浏览到刚才的SolutionInfo.cs,不要双击,这样要使用特殊的添加方式。需要在添加窗体的添加下拉列表里选择添加为链接。

下面,就可以Build一下,可以看到生成的项目程序集版本号和SolutionInfo.cs设置的一致。

 

它的原理在于,即使添加的链接文件,也会随项目一起编译,所以对最终生成的程序集版本号起作用。又因为,SolutionInfo.cs只有一个,所以修改起来方便。对于其它类似要共享源代码文件的情况也适用。

 

posted on 2013-10-27 20:04  ProJKY  阅读(2694)  评论(0编辑  收藏  举报