C# 如何安排VSS历史记录显示在代码中?

C# 如何安排VSS历史记录显示在代码中?,c#,vb.net,tsql,visual-sourcesafe,C#,Vb.net,Tsql,Visual Sourcesafe,我最近需要在一个新项目的源代码中嵌入可视化的源代码安全历史记录,根据我们在旧项目中的一些示例,在旧项目中,历史记录出现在编码人员放置某些注释的地方。最终结果如下: using System; using System.Collections.Generic; using System.Text; using System.Data; //$Archive: /UserManagementSolution.root/UserManagementSolution/UserDAL/Tems.cs $

我最近需要在一个新项目的源代码中嵌入可视化的源代码安全历史记录,根据我们在旧项目中的一些示例,在旧项目中,历史记录出现在编码人员放置某些注释的地方。最终结果如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
//$Archive: /UserManagementSolution.root/UserManagementSolution/UserDAL/Tems.cs $
//$History: Tems.cs $
//* 
//* *****************  Version 3  *****************
//* User: michaelc     Date: 1/31/13    Time: 9:44a
//* Updated in $/UserManagementSolution.root/UserManagementSolution/UserDAL
//
//
namespace UserDAL
{
    public class Tems
版本及其后面的两行由VSS放置。我知道VSS根据放置行的位置放置历史记录:

//$Archive:  $
//$History:  $
//* 
请注意,VSS还将VSS文件信息放在$Archive和$History段落中。只需使用如图所示的美元符号来告诉它这些信息的去向


然而,当我实际签入代码(大约20个C#文件)时,VSS将历史记录放入其中,没有注释字符,因此破坏了构建。这需要一些恼人的返工来注释行。问题是,当VSS放入历史记录时,如何让它对其进行注释?

我花了一些时间思考这个问题,然后突然想起srcsafe.ini文件中需要一些编码来告诉VSS将历史记录放入注释行中

我找到了一个按预期运行的项目的srcsafe.ini文件,并将其与我的新项目的文件进行了比较。我在行为正确的.ini文件中找到以下行:

Keyword_Masks = *.cs, *.sql
Shadow = 

[Keyword Comments] 
*.cs = "//"
*.sql = "--"
关键字_掩码和阴影关键字放在useheloperservice之后的.ini文件中。我想关键字_Masks(用逗号分隔的值)告诉VSS放置历史记录的文件类型(我不知道阴影意味着什么,但因为它出现在我们所有的项目中,我不想忽略它,然后发现它导致了一些微妙的错误)

新的[Keyword Comments]节紧接着出现在[Timezone]节之后(和之前)。这显然会告诉VSS行注释使用哪些字符,以及文件类型

就这样


请注意,如果您使用的是Visual Basic,那么代码将被编码为*.vb。显然,您不必包含Sql;在这种情况下,我们的VSS项目碰巧包含了解决方案和项目文件,以及存储过程,我们也将其保存在VSS中。

因此,我想您知道VSS有多么过时,通常有多么糟糕?当然!但我肯定不知道唯一被雇主谴责使用POSS的DeV,它工作了——一种时尚。我已经习惯了。我们承诺,我们将在几个月后开始过渡到Team Foundation Server。我期待着它。