问题
I used the instructions on the BeyondCompare website (also referenced in this SO question) to configure VS2010 (TFS) to compare source control using Beyond Compare. This approach appears to be broken. The file in the left-hand view (from the server) does not appear at all in BC3, and a Conversion Error
is reported.
Upon further inspection, I noticed that the filename generated by Visual Studio when serving up the file from the source control (i.e., the previous revision) looks like this: filename.xml;C1956
. There is a semicolon in the filename, as a delimiter between the original filename and the rev number. This is confusing BC3. To confirm this, I took the served-up version of the file (which gets stored temporarily in \AppData\Local\Temp\TFSTemp\
), and renamed it, removing the semicolon. BC3 loaded it just fine. But when I put the semicolon back in, the Conversion Error
returned.
UPDATE: Upon further testing, I realize this is only an issue with XML
files. If I rename the file with a different extension, BC3 loads it just fine.
Has anybody discovered a workaround for this?
回答1:
Turns out (after contacting the very efficient ScooterSoftware support desk) the problem was with the XML formatting plugins. In BC3, under Tools -> File Formats, I disabled (unchecked) the following formatters: * XML Tidied * XML Tidied with Attributes Sorted The semicolon-file then displayed just fine. These formatters use the freeware converter, HtmlTidy, from http://tidy.sourceforge.net. I haven't determined whether a newer version of this plugin might help. For now I've just turned them off (which works for this situation because the visual studio xml is already "tidy".)
来源:https://stackoverflow.com/questions/17091584/how-to-configure-visual-studio-tfs-to-use-beyondcompare3-broken-for-xml-files