【发布时间】:2014-07-24 23:57:03
【问题描述】:
我在 Visual Studio 中有一个位于 TFS 源代码控制下的大型解决方案,但我注意到其中一个项目 (c#) 在解决方案资源管理器中旁边没有挂锁图标。
项目及其文件都在源代码控制下,我可以查看历史记录并执行其他任务。所有文件都没有挂锁,但奇怪的是属性文件夹有。
是什么原因,它坏了,我该如何解决。
【问题讨论】:
我在 Visual Studio 中有一个位于 TFS 源代码控制下的大型解决方案,但我注意到其中一个项目 (c#) 在解决方案资源管理器中旁边没有挂锁图标。
项目及其文件都在源代码控制下,我可以查看历史记录并执行其他任务。所有文件都没有挂锁,但奇怪的是属性文件夹有。
是什么原因,它坏了,我该如何解决。
【问题讨论】:
所有错误是项目文件没有正确绑定到 TFS。 .csproj 文件中缺少一个部分,应如下所示:
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
SAK(可能)代表解决方案已经知道的地方。
据我所知,它只会影响解决方案资源管理器中源代码管理状态的显示,如前所述,您已经可以对项目执行其他源代码管理任务。这并不多,但值得修复,因为这是一个很好的视觉检查,一切都受到控制。
要修复它,在解决方案资源管理器中突出显示项目,然后转到文件 > 源代码控制 > 高级... > 更改源代码控制... 在该列表中选择有问题的项目(它可能看起来很好且有效),单击取消绑定,确定警告,然后单击绑定(重新标记相同的工具栏按钮)确定该窗口,并检查它建议的所有文件。这将进行必要的更改,并且应该会出现挂锁。查看并检查更改以保留它们。
【讨论】:
对我来说,图标也丢失了....但是,实际的 .csproj 也没有出现在 TFS 源代码控制资源管理器视图中。 (这意味着 .csproj 实际上并没有受到源代码控制......即使所有项目的目录和文件都受到源代码控制。)
对我来说,解决方案是在 Visual Studio 2015 的 TFS 源代码管理资源管理器中打开该文件夹......并且还打开一个 Windows 文件资源管理器窗口,我可以在其中看到本地计算机上的 .csproj 文件...... .. 然后只需将文件拖放从 Windows 文件资源管理器到 Visual Studio 的 TFS 源代码管理资源管理器窗口。
然后我立即看到项目有加号图标(并且在待定更改列表下也可见)。我执行了签入,然后锁定图标现在出现在我的项目上! :-D
【讨论】:
Webturner 有正确的解决方案。但除此之外,我还必须手动将项目文件从文件系统添加到 TFS(右键单击项目文件 -> Team Foundation Server -> 添加)。然后按照 Webturner 的建议在 VS 中解绑/绑定。 对我来说,这都是由以前的项目文件重命名引起的。
【讨论】:
当项目文件 (.csproj) 不在源代码管理中时,项目旁边不会有挂锁。
【讨论】:
我猜这里可能发生了很多事情。
对我来说这个最新的化身是通过右键单击项目,源代码控制,上线来解决的。
【讨论】:
在“解决方案资源管理器”中,选择解决方案文件,然后转到“文件 > 源代码管理 > 高级 > 更改源代码管理”。确保设置了“服务器绑定”,并勾选了“已连接”。否则,突出显示这些项目并点击顶部的“绑定”。
如果有任何绑定错误,可能是项目在绑定不存在时被重命名。打开“源代码资源管理器”并将文件夹拖入,Visual Studio 将自动处理其余部分。
【讨论】: