由于没有理由,每次打开我的解决方案时,Visual Studio都会检查sln文件。
如果我将它与之前的版本进行比较,则没有任何变化。但是这真是令人沮丧,因为每个人都已经检查了解决方案。
我正在使用VS 2008和TFS 2008,两者都是SP2。
关于如何阻止这件事发生的任何想法?或者是VS的TFS源代码控制提供程序的功能/错误?
答案 0 :(得分:120)
当以下内容出现在.sln文件中时会发生这种情况:
GlobalSection(ExtensibilityGlobals) = postSolution
MyGlobalProperty = AnyValue
EndGlobalSection
我发现Enterprise Library添加了其中一个。我删除它,检查解决方案,关闭然后重新打开它,不再自动检查。
答案 1 :(得分:6)
从内存中,如果您使用工具,选项菜单并选择源代码管理,环境面板,则应该有几个选项来配置IDE与之交互的方式版本控制。
我认为其中一些选项控制结帐时打开行为。
答案 2 :(得分:5)
以防万一,像我一样,你无法让它工作,你发现一个或多个项目也被检查出来,我找到了一个更简单的解决方案。记下它一直在检查的项目。转到文件 - 源代码管理 - 更改源代码管理,然后取消绑定相关项目。单击OK,Save All,然后返回Change Source Control并将项目绑定回解决方案。希望这对其他人有用
答案 3 :(得分:3)
允许签出然后比较两个文件。 如果VS添加了类似
的内容<Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />
您在使用VS2008中的解决方案时遇到VS错误但未移植到VS2005
查看this link了解更多详情:
答案 4 :(得分:3)
虽然没有首先解决问题,但如果没有进行任何更改,自由使用Team Foundation Power Tools“撤消未更改”命令(惊喜)会撤消待处理的编辑。
答案 5 :(得分:2)
使用Microsoft企业库通过一个或多个解决方案的项目静默检出Visual Studio解决方案文件 - 我相信这与企业库配置实用程序有关,它允许对各种应用程序进行配置管理阻止 - http://msdn.microsoft.com/en-us/library/ff649479.aspx
请参阅此Microsoft反馈帖子:http://connect.microsoft.com/VisualStudio/feedback/details/737184/globalsection-extensibilityglobals-postsolution-checks-out-sln-file-on-open
答案 6 :(得分:1)
这是在解决方案中加载的一个项目系统的功能/错误。尝试删除各种类型的项目(C#,VB,C ++,网站,Web应用程序,单元测试,Silverlight ......),直到它消失为止;这是你的答案。
答案 7 :(得分:0)
在进行比较之前,您是否保存文件?它发生在我前一段时间,并一直说文件之间没有变化,但过了一段时间我才意识到我之前没有保存文件,而是与磁盘中的版本进行比较,而不是内存中的版本。
每次在Visual Studio中打开某个解决方案时,它都会执行一些操作,这些操作可能会导致.sln或项目文件发生更改,然后它会要求您签出该文件。当开发人员计算机中的文件夹结构发生更改,或者他们没有所有文件的相同版本时,就会发生这种情况。也许有人在某个文件夹中添加了一个项目,另一个开发人员在另一个地方有相同的项目 我发现这种情况的另一种情况是当我们有一些c ++项目的解决方案时,出于某种原因,这个c ++项目中的一个有一个带有绝对路径的.res文件。一旦这个文件由VS自动生成,它就会从开发者机器变为开发者机器。
我建议你打开你的.sln文件并寻找一些绝对路径,或者寻找一些开发人员机器中可能不存在的相对路径,这取决于他们从你的源代码控制中获取的文件。