How important is Visual Studio's .vsmdi file?
Here's the scenario:
'User A' has created unit tests through Visual Studio 2010. The test project and unit test source code have been checked into version control. 'User B' gets the test project and unit test source code from version control. 'User B' then opens the test project and receives a message saying "Error loading blah.blah.blah.vsmdi: Input file not found: blah.blah.blah.vsmdi." However, 'User B' can still run the unit tests success开发者_StackOverflow中文版fully.
Now, regardless of whether 'User A' should have checked in the .vsmdi file, there don't appear to be any negative effects, other than the error message.
Is there any harm in not having the .vsmdi file? Or, conversely, what is the benefit of having the .vsmdi file?
The following link gives a bit of good information *.vsmdi files
http://notgartner.wordpress.com/2011/02/10/what-is-a-vsmdi-file/
In brief, content of the link helpful here is:
Originally the use of the *.vsmdi file was a requirement to get MSTest integration with MSBuild working on a TFS build server, however this requirement has since been removed once again removing the utility of the file.
Assuming that you are just using the Test View to run your tests these files are perfectly safe to delete. If you want to try and tackle the problem, there is an imperfect solution. Simply remove all the files from your disk and in version control (assuming you are using TFS here, or any version control system that is integrated with Visual Studio), then instruct the version control system to perform an exclusive check-out.
Well, from what I have gathered, there is no harm in not having the .vsmdi file, when using VS 2010.
Using VSMDI files in VSTS 2005 have known to have many issues regarding maintainability. Though it may have potential in the future releases of VS, currently it seems better to stay away from it.
Check out the below MSDN blog that details the workaround. Please note this applies only to VS2005. VSTS 2008 now uses testcontainers instead.
How to run tests in a build without test metadata files and test lists (.vsmdi files)
精彩评论