c#项目,适当的版本控制,公司等

本文关键字:版本控制 公司 项目 | 更新日期: 2023-09-27 18:03:02

我的公司正致力于将我们的开发从c++ .net转移到c#。我们的产品有标准的每月发布(例如,5.0.19.2…)。

在c++ .net中,我们有一个通用的app.rc文件,它标准化了公司信息和版本号。由于解决方案中的每个项目都会包含一次相同的app.rc文件,因此更改200多个项目的版本信息非常容易。

这个解决方案如何转换到c#世界?我在写这篇文章之前检查的问题通过解决方案资源管理器中的属性窗口提到了它,但这不是我想要的。

我知道assemblyinfo.cs包含我想要修改的信息,但我不认为我可以有一个主文件。我需要把它分割成多个文件吗?

提前感谢!

c#项目,适当的版本控制,公司等

您可以将文件添加为链接而不是实际文件。例如,我的解决方案可以是:

Solution
    - My Project
        - Properties
            - AssemblyInfo.cs
            - SharedAssemblyInfo.cs (Linked)
    - Solution Items
        - SharedAssemblyInfo.cs

当您将现有项目添加到解决方案中时,您可以使用Add链接上的下拉箭头,并选择Add as LinkSharedAssemblyInfo.cs文件可以包含公共/共享的程序集属性,例如:

[assembly: AssemblyVersion("2.0.*")]
[assembly: AssemblyFileVersion("2.0.0.0")]
[assembly: AssemblyCompany("My Company")]

…等。项目本地可以包含项目特定的属性:

[assembly: AssemblyTitle("My Assembly")]

…等。

在c#解决方案中,注释掉每个项目的assemblyinfo.cs中的版本信息是一种常见的做法,然后有一个公共的"shared_assemblyinfo.cs"(按口味命名),包含版本信息,并在所有项目中共享…

您可以有一个程序集信息文件,并只指定其中的程序集版本:

using System;
using System.Reflection;
[assembly: AssemblyVersion("1.0.0.0")]

然后,您只需将该文件作为链接添加到您的每个其他项目(您必须手动从每个Properties'AssemblyInfo.cs文件中删除AssemblyVersion属性)。当他们构建时,他们都会使用这个文件。

主程序集.cs是可能的-只需删除项目的程序集.cs文件,并在"添加文件"对话框中使用"作为链接"选项重新添加主程序集.cs到每个项目。

http://www.tigraine.at/2009/01/22/sharing-a-common-assemblyinfo-between-projects-in-a-solution/

我建议为每个项目提供版本信息,考虑到它们有400个或可能是如此之大,在每个新的大型设置上知道哪些版本的程序集是该设置的一部分是非常重要的。每个程序集都是由不同的人开发的,就像一个独立的项目,最后他们在你的主应用程序的一个大马赛克中完成,它是MainVersion。

问候。