源文件的VSS和Visual Studio 2008"二进制文件不同"消息

And*_*wCr 5 visual-sourcesafe visual-studio-2008

我正在使用VSS 2008和Visual Studio 2008.当我的源文件签入时,VSS属性对话框将它们显示为"Unicode(UTF-8)"类型.但是,如果我在Visual Studio中检查一个,然后做一个比较,它说"二进制文件不同".还有其他人看到这个吗?我在某个地方搞砸了吗?

谢谢,安迪

更新:感谢VonC的一些见解.在大多数情况下,关闭"自动检测本地文件的编码"复选框可以修复它,但对于至少一个文件,它没有帮助.此外,我还没有找到一种方法来做多个文件 - 它们必须每次更改,一次一个.我仍然在寻找更全面的解决方案.

Von*_*onC 10

从这个旧的(2004年)但可能仍然相关的文章:

visual source safe并不总能正确识别文本文件类型.当使用' auto'type 检入文件时- 它将它们视为二进制文件.

因此,当您比较两个.sql文件时,您可能会看到' binary files differ' - 仅此而已.(这就是vss如何处理二进制文件).

二进制文件不同

解决方案是使用source safe中文件的属性上下文菜单更改文件类型.将类型更改为文本,您应该能够执行视觉比较.您也可以在签入文件时单击"高级"选项,然后手动将选择更改为" text".

为避免将来 - 您可以在visual source safe中的选项菜单下添加文件类型设置,以设置各种文件类型的默认行为.


pdw*_*etz 6

您可以指定其他应用程序,而不是使用VSS内置的比较工具.这可以帮助您避免二进制问题.例如,如果您碰巧使用Beyond Compare(遗憾的是,不是免费软件,但它是我的方向):

  1. 转到"工具"菜单
  2. 转到"选项"菜单项
  3. 转到"自定义编辑器"选项卡
  4. 将操作更改为"文件差异"选项
  5. 将文件扩展名更改为:.*
  6. 将命令行更改为(包括引号):"C:\ Program Files\Beyond Compare 2\bc2.exe"%1%2
  7. 单击添加按钮
  8. 单击确定按钮

我猜你可以用另一个程序换掉上面的命令行值,但是我自己没试过.