当我使用“从数据库更新模型”或通过刷新表格从数据库更新我的 EDMX 文件时,团队资源管理器 > 待定更改中的几个文件被标记为有更改。这些文件与最新文件相比,与源代码控制文件没有区别,我尝试检查它们以查看是否有一些不可见字符是罪魁祸首(即,行尾的\r\n 与\n )但文件始终显示在未决更改中。
具体而言,这些文件是 Visual Studio 解决方案资源管理器中 MyDatabase.tt 结构下的 C# (.cs) 文件。 同样结构下也有很多类似的文件没有受到类似的影响。
1) 那么是什么让这些文件与众不同?
2) 为什么它们一直显示为有未决的更改,尽管它们已经 checkin 并且没有可见的更改? (Rob Epstein 已经回答了这部分问题)
3) 如果有的话,我该怎么做才能阻止它们出现在待定更改列表中?
澄清:我想知道为什么两个文件被标记为显示在待定更改中,而其他文件却没有。如果您能回答 #1,我会将答案授予您,因为这是问题的症结所在。
PS:我使用的是 VS 2013,我相信 TFS 2010。
编辑我无法从 TFS 切换到替代源代码管理,因此我想使用我拥有的 (VS 2013/TFS 2010) 解决此问题。
最佳答案
每次进行 EDMX 更改时,模板过程都会重新生成文件。源代码控制逻辑不是比较文件的内容来确定更改,而是粗略地检查文件的最后修改时间戳。据我所知,没有办法绕过这个过程。
希望对你有帮助, 罗布
关于c# - TFS/VS 错误地将文件标记为有更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25745530/