为什么Visual Studio创build一个新的.vsmdi文件?

如果我在Visual Studio 2008中打开解决scheme并运行unit testing,VS将在解决scheme项目文件夹中创build一个新的.vsmdi文件,并为其提供下一个数字,例如My Solution2.vsmdi。

任何想法VS为什么这样做,我怎么能停止这样做?

VSMDI问题似乎是一个已知的问题,自VS2005团队系统以来一直存在,但目前还没有明确的解决scheme。 不使用MS Test的另一个原因。

MSDN博客详细介绍了如何在没有VSMDI文件的情况下运行unit testing 。

假设VSMDI文件是在源代码pipe理下的,下面是关于这个问题的Microsoft支持文章: 在源代码pipe理下使用VSMDI文件运行团队testing后的多个vsmdi文件

其中说:

有人在修改vsmdi文件时进行了testing。 团队testing检测到VSMDI文件不同步;因此,团队testing它使一个,因此你看到递增的VSMDI文件。

和:

向前走,你想确保文件被修改时没有标记为自动签出。 当前testing仪已将VSMDI文件签出时,不要让其他用户检查出来。 您希望开发人员签出文件,运行testing并重新检入。

我通过检查.vsmdi来解决这个问题。
似乎这只发生在.vsmdi文件是只读的时候,例如,在使用这种锁本地文件行为的版本控制系统(Perforce等)中没有检出。

一个旧的post,但 vsmdi是由testing系统创build的元数据文件。