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