代码之家  ›  专栏  ›  技术社区  ›  Joe

AssemblyInfo任务覆盖了Log4NET设置

  •  1
  • Joe  · 技术社区  · 17 年前

    我有一个使用log4net的项目,在开发人员机器上运行良好。当我们构建时,构建脚本中的一个步骤会调用AssemblyInfo任务来设置版本号和日期等。但是AssemblyInfo文件也会丢失以下行:

    [程序集:XmlConfigurator(观察=真)]

    2 回复  |  直到 17 年前
        1
  •  1
  •   si618    17 年前

    实际上,您可以将log4net[assembly:…]行放在任何将被编译到程序集中的文件中。很多时候,我们只是把它放在具有“main”方法的.cs文件中,它工作得很好。

        2
  •  2
  •   Andy White    17 年前

    好吧,换一种思路,你不必只有一个程序集信息文件。

    对于解决方案,我们是这样做的,每个项目都有3个程序集信息文件:

    1. AssemblyInfo.cs-包含Guid、AssemblyTitle、AssemblyDescription和任何特定于程序集的属性。

    2. ProductAssemblyInfo.cs-包含程序集产品、程序集版本和程序集文件版本。这样,产品/解决方案中的所有程序集共享相同的版本。

    3. CompanyAssemblyInfo.cs-包含AssemblyCompany、AssemblyCopyright以及我们希望所有程序集共享的任何属性。

    项目2和3使用“添加为链接”引用,这样它们就可以从单个源代码中共享。现在,您可能不想采用相同的方法,但您当然可以使用类似的结构,并将XmlConfigurator放置在与程序集版本详细信息不同的程序集信息文件中。

    推荐文章