为什么编译时会出现“.XML.OLD”文件?

3
许多我们的项目(所有这些项目都已打开 XML 文档),会生成 <assemblyname>.XML 文件(如预期所示),并且还会复制一个名为 <assemblyname>.XML.OLD 的文件。

并非所有已打开 XML 文档的项目都会生成这个 .XML.OLD 文件,但其中许多会生成。似乎没有规律可循,不知道为什么有些会生成而有些不会。
是否有人知道这是怎么回事?如何阻止这种情况发生?
这是使用 Visual Studio 2012 进行的操作。我还安装了 Resharper 8(我的同事使用的是 Resharper 7,但仍然看到了“.xml.old”文件)。

1
你正在使用哪个版本的VS?将其添加到你的问题中可能会有所帮助。 - Mike Dinescu
@MikyDinescu 很好的建议,已添加! - Matthew Watson
你确定这是新文件的副本而不仅仅是因为正在生成新文件而制作的旧文件备份吗?检查很容易:在代码中更改XML文档,再次构建,并将.XML和.XML.OLD文件进行比较,以查看它们是否相同。如果不同,则.OLD是先前文档的备份。 - Ken White
@KenWhite 是的,我先删除了文件夹的内容,所以不可能是那个问题。而且这两个文件始终都是相同的。如果我在编译过程中观察文件夹,我可以看到“xml”文件很早就被创建了,然后“.xml.old”文件稍后生成。就好像它试图两次生成xml文档,第二次它看到一个现有的“.xml”文件并将其重命名为“.old”。 - Matthew Watson
1
有没有任何可能会干扰删除临时文件的杀毒软件? - Ben Voigt
显示剩余2条评论
1个回答

1
当你使用 Code Contracts 并选择了 Emit contracts into XML doc file 选项时,会出现这种情况。
我认为 Code Contracts 重写器只是在改变文件时对 XML 文档文件进行备份。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接