为什么Microsoft的源代码引用在每个.cs文件中都有两个代码副本

时间:2011-06-03 21:41:00

标签: .net-4.0

所以,我正在查看[PATH]\RefSrc\Source\.Net\4.0\DEVDIV_TFS\Dev10\Releases\RTMRel\ndp\fx\src\MIT\System\Web\UI\MobileControls\Panel.cs\1305376\Panel.cs并注意到该文件以及我检查的其他文件包含源代码的两个完全重复(我通过将两个块粘贴到diff工具中检查)。像这样:

[COPYRIGHT MESSAGE 1]    
[CODE]    
[COPYRIGHT MESSAGE 2]
[COPYRIGHT MESSAGE 1]    
[CODE]    
[COPYRIGHT MESSAGE 2]

这有什么理由吗?版本控制有些奇怪吗?

我尝试检查Reference Source Forum并看到有人theorized这是安装程序中的错误,但我很好奇是否有人可以提供自己的见解。

3 个答案:

答案 0 :(得分:1)

冗余,当第一个源损坏时,它会被验证或与另一个源同步。

答案 1 :(得分:0)

我删除了我的RefScr目录并从http://referencesource.microsoft.com/netframework.aspx

下载了Net 4.5软件包的干净副本

我四处寻找并找到了平等的目录/文件:

\RefSrc\Source\.NET 4.5\4.5.50709.0\net\ndp\fx\src\MIT\System\Web\UI\MobileControls\Panel.cs\550320\Panel.cs

当我手动将文件分成两部分时,我注意到文件是相同的。

我在最新发行版中看到了同样的问题。我今天有机会进一步挖掘,但现在经过进一步调查后,我怀疑它可能与存储库的管理方式有关。

答案 2 :(得分:0)

鉴于参考源的后续版本不包含源代码的两个副本,我猜测Hans Passant可能是正确的(在他的评论中)这可能是生成的工具中的错误来源。