VS2013中如何为VB.NET解决方案所有项目统一管理程序集版本?
统一管理.NET解决方案的程序集版本:C#与VB.NET的差异处理
如果你想把整个解决方案里所有项目的程序集版本统一存到单个文件里管理,C#和VB.NET的实现方式确实有区别,下面分别说明:
C# 项目的实现步骤
对于C#项目,这个需求很好实现:
- 在解决方案根目录创建一个通用的
AssemblyInfo.cs文件,写入所有项目共用的版本属性(比如[assembly: AssemblyVersion("1.0.0.0")]) - 打开目标C#项目,右键点击Properties文件夹 → 选择「添加」→「现有项」
- 找到通用的
AssemblyInfo.cs,点击添加按钮旁的下拉箭头,选择「添加为链接」 - 将这个链接文件拖入Properties文件夹后,打开「Properties → Application → Assembly Information」就能看到统一的版本信息,修改通用文件时所有关联项目会自动同步
VB.NET 项目的限制与解决办法
VB.NET这里有个Visual Studio的硬性限制:AssemblyInfo.vb必须放在项目的My Project目录下,否则「My Project → Application → Assembly Information」面板不会加载显示版本信息,而且没法像C#那样直接把链接文件拖进My Project目录。
要实现统一版本管理,我们可以用「共享配置导入」的方式:
- 在解决方案根目录创建
SharedAssemblyInfo.vb,写入所有VB.NET项目共用的版本属性:<Assembly: AssemblyVersion("2.0.0.0")> <Assembly: AssemblyFileVersion("2.0.0.0")> - 打开每个VB.NET项目的
My Project目录下的AssemblyInfo.vb,删除里面重复的版本属性,添加导入共享文件的指令(路径根据你的实际文件位置调整):' 引入共享版本配置文件 #ExternalSource("..\..\SharedAssemblyInfo.vb", 1) #End ExternalSource - 这样设置后,所有VB.NET项目都会共享同一个版本配置,打开「Assembly Information」面板时,Visual Studio会读取共享文件里的版本信息并正常展示,修改共享文件就能同步所有项目的版本
内容的提问来源于stack exchange,提问作者kara
相关产品推荐
相关产品推荐

