如何在Visual Studio中配置内部版本号以启用dll比较

jam*_*nto 5 c# version-control dll visual-studio


我正在Visual Studio 2008中构建一个C#解决方案,该解决方案具有多个项目和项目依赖项.
我正在寻找一种方法来改变DLL版本号只有当构建项目的代码发生变化时.

我目前使用Beyond Compare将我本地构建的版本与生产文件系统进行比较.目标是仅部署更新的dll.我正在使用自动增量版本号,每次打开visual studio并进行构建时,所有dll版本号都会增加.同样适用于完整的解决方案重建以及不同的开发人员进行构建并尝试部署时.

有没有办法可以将Visual Studio配置为仅根据更改的文件内容增加内部版本号?有没有添加,这将做到这一点?

由于dll中的版本号不同,似乎这些文件的二进制比较也会失败.有没有人知道一个更好的工具只比较dll的内容?

提前致谢.

Ric*_*ard 1

一种选择是转向持续集成解决方案,例如Cruise Control .Net,这允许在签入源代码控制系统时触发构建。

关于程序集版本控制,我通常做的是创建一个链接到每个项目的 SolutionVersion.cs (以替换默认的程序集版本 cs)(使用添加现有项目,但更改按钮以添加为链接)

然后,我使用 NAnt 或 MSBuild 任务获取巡航控制构建标签号并在构建解决方案之前覆盖 SolutionVersion.cs 版本号

这样我就可以获取程序集并通过 CruiseControl 构建版本将其追溯到代码(更好的是我通常让 CC.net 在源代码管理中使用相同的编号来标记源代码)