Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 TFS提交未更改的文件_Visual Studio 2010_Visual Studio 2008_Tfs - Fatal编程技术网

Visual studio 2010 TFS提交未更改的文件

Visual studio 2010 TFS提交未更改的文件,visual-studio-2010,visual-studio-2008,tfs,Visual Studio 2010,Visual Studio 2008,Tfs,我同时使用TFS 2008和2010,我认为当您签入未更改的文件时,TFS应该自动确定没有更改,并撤消更改,而不是为其创建新的更改集 为了测试这一点,我只需签出解决方案中的任何单个文件(例如web.config)。然后(不做任何更改)立即将其签回。我查看了该文件的历史记录,发现有一个新的变更集。当我将该文件与以前的版本进行比较时,它会显示“文件相同” 我认为它不应该创建新的变更集,因为文件没有更改。我认为这是它应该工作的方式,我也认为这是它曾经为我工作的方式。我弄错了吗?有人对我如何解决这个问题

我同时使用TFS 2008和2010,我认为当您签入未更改的文件时,TFS应该自动确定没有更改,并撤消更改,而不是为其创建新的更改集

为了测试这一点,我只需签出解决方案中的任何单个文件(例如web.config)。然后(不做任何更改)立即将其签回。我查看了该文件的历史记录,发现有一个新的变更集。当我将该文件与以前的版本进行比较时,它会显示“文件相同”


我认为它不应该创建新的变更集,因为文件没有更改。我认为这是它应该工作的方式,我也认为这是它曾经为我工作的方式。我弄错了吗?有人对我如何解决这个问题有想法吗?

如果您使用的是本地工作区,而不是服务器工作区,则会有想法。本地工作区是在TFS 2012和VS 2012中引入的,与以前的版本不可比较


我注意到在几年内使用了2010年,更不用说2008年了,但是如果我没记错的话,您明确表示希望签出整个解决方案,然后签入。在服务器workspce中,为了提高潜在大型代码基的性能,它不进行这些检查。

我已经确定了问题的原因。我的组织最近在所有计算机上启用了本地安全策略设置“系统加密:使用符合FIPS的算法进行加密、哈希和签名”。显然,VS/TFS 2008和2010不能很好地处理此设置,文件的签入/比较是导致冲突的一个地方

按照设计,VS 2008和VS 2010应该只提交确实已更改的文件。如果文件处于挂起状态但尚未实际修改,则当您告诉它签入文件时,它应撤消签出。但是,当启用FIPS设置时,无论发生什么情况,它似乎都会提交文件

要解决此问题,您需要禁用FIPS设置并重新启动Visual Studio