c# - 从生产代码中查找修订信息,允许链接到源代码

标签 c# java svn

在 Java 中,我们可以声明一个静态字符串,其值为 $HeadURL:$,每次 Subversion 提交都会更新该值。然后可以从生成的类文件中提取该文件,以查找与该类文件相对应的源文件(以及修订信息)。

在 C 语言中,我们可以声明一个静态 char[] 来执行相同的操作。

在 C# 中实现此目标的推荐方法是什么?

基本上,我正在寻找使用已由 Subversion 更新的 $HeadURL:$ 信息的最佳实践,以将生产代码与源代码相匹配。

我熟悉汇编版本等,但这并没有为我们提供我们正在寻找的粒度。

最佳答案

如果我理解正确的话,您正在尝试每个源文件执行此操作,这只会让事情变得困难:) 如果您在构建之前进行标记,则与关联的修订号该标记是对可执行文件中使用的每个源文件的明确引用,并为您提供精确的粒度。

您可以使用 SVN 的 Revision 关键字而不是 HeadURL 来包含修订号。您只需在每个 EXE/DLL 的一个源文件中包含此修订号(通常是传递给 AssemblyInfo.cs 中相应版本相关属性的字符串值),其中这就是 @serg10 所指的。

在 C# 中对每个文件执行此操作是(不必要的)痛苦,因为该语言没有“模块”级数据的概念。并且向每个文件中的至少一种类型添加属性是乏味的,并且容易被遗忘或输入错误。

关于c# - 从生产代码中查找修订信息,允许链接到源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669892/

相关文章:

c# - 如何从 Func<T, TResult> 返回原始 List<T> 的副本?

java - 验证签名请求 : signature_invalid

svn - 如何使用 Maven 从 SVN 标记创建分支?

java - QuickContactBadge 使应用程序崩溃 :

java - 如何避免在此 Java lambda 表达式代码中出现 NullPointerException 警告?

svn - 如何让 Mercurial 忽略除 *.cs 文件之外的所有内容?

java - 如何检查提交时 LOC 是否增加?

c# - 大写方法名称的 C# 标准是什么?

c# - 如何将表单设置在屏幕中央?

c# - 接口(interface)的通用实现