我在我的AssemblyInfo.cs文件中使用Visual Studio/MSBuild的自动构建增量功能:
[assembly: AssemblyVersion("1.0.*")]
还没有真正找到任何文档描述这种行为,但从我的经验,每当我改变一个代码文件(例如一个控制器在MVC项目或任何其他*.cs文件),组装数增加后,构建项目。
但如果我在视图,JavaScript或CSS文件中进行更改,则不会…程序集版本保持不变。是否可以告诉Visual Studio在这些情况下也触发版本更改?
我想在我的持续集成过程中依赖于组装版本,所以我想确保当在我的项目中进行更改时,组装版本将更改(当CI服务器构建项目时)。如果没有变化,版本应该保持不变。
如果有另一种方法来实现这一点,而不是使用自动构建增量特性,它也会很好。到目前为止我还没有找到。
谢谢
我解决这个问题的方法是根本不使用汇编版本。
相反,我写了一个简单的控制台应用程序,它根据项目中所有文件的名称和内容创建一个散列。
控制台应用程序由CI服务器执行,哈希值被写入文件。
在下一次构建时,将新的哈希值与文件中的哈希值进行比较,如果它不同,则意味着项目已经更改,并且必须增加构建号