如何为每个项目程序集维护共享的AssemblyFileVersion和单独的AssemblyVersions ?

本文关键字:AssemblyFileVersion 单独 AssemblyVersions 共享 维护 程序集 项目 | 更新日期: 2023-09-27 17:52:35

我使用链接的AssemblyInfo.cs文件为我所有的类库设置AssemblyFileVersion。

[assembly: AssemblyFileVersion("6.60.3.4")]

我使用本地/默认的AssemblyInfo.cs文件。

//example of AssemblyVersion set in project AssemblyInfo.cs    
[assembly: AssemblyVersion("6.60.3.1")]

我的结果是,AssemblyFileVersion和AssemblyVersion都被设置为AssemblyFileVersion值。

我如何为我的每个项目程序集维护共享的AssemblyFileVersion和单独的AssemblyVersions ?

编辑

我的印象是,我可以/应该使用AssemblyFileVersion来跟踪项目中所有dll程序集的发布版本。我们的想法是让exe和dll都具有相同的AssemblyFileVersion。只有当特定dll发生修改时,AssemblyVersion才会增加。这个逻辑对我来说很有意义。请告知是否有更多的逻辑方法来处理大型项目

如何为每个项目程序集维护共享的AssemblyFileVersion和单独的AssemblyVersions ?

以下帖子,AssemblyVersion, AssemblyFileVersion和AssemblyInformationalVersion之间有什么区别?,建议你做相反的事情。

这个答案提供了一个可以适应您需要的实现。

据我所知,这个问题没有简单的解决方案。我认为最简单的解决方案是首先单独构建类库,并使其他构建依赖于此。一般来说,试图操作AssemblyInfo文件中的值是徒劳的。

你可以模仿像TeamCity这样的系统。他们通过拉出所有的源代码,然后在实际构建之前使用web UI中提供的版本号编辑AssemblyInfo文件。

我的问题是正确的,但我想知道我是否被误导了一点。我正在使用Windows文件属性对话框来确认我的ProductVersion和FileVersion是否设置正确。

我将以下内容添加到我的共享AssemblyInfo.cs文件中,它开始像我预期的那样工作。

[assembly: AssemblyVersion("6.60.0.0")]    
[assembly: AssemblyInformationalVersion("6.60.0.0")]

有没有想过为什么这会更新AssemblyVersion而不仅仅是这个

[assembly: AssemblyVersion("6.60.0.0")]
相关文章:
  • 没有找到相关文章