5

我有一个看似常见的问题,但找不到适合我的通用解决方案。我最近对我的计算机进行了重新映像,现在正在从 TFS 重新下载解决方案。其中一个解决方案文件夹包含 2 个文件夹,这些文件夹在源代码管理资源管理器的“最新”列中列出了“未下载”。尝试打开解决方案时,我收到错误“无法加载项目文件。找不到文件 x”。我尝试了下面列出的方法,但无济于事:

  1. 获取特定版本,检查覆盖选项
  2. 删除,.suo文件,重启VS2010
  3. tf 获取 / 强制
  4. 删除映射,删除本地文件,将整个 TFS 项目重新映射到本地文件夹
  5. tfpt rollback /changeset .csproj 的最后一个变更集列出了一个分支和一个合并作为我挂起的更改
  6. 文件 -> 源代码管理 -> 从源代码管理打开,导航到 TFS 项目,尝试在未下载的文件夹中打开 .csproj,收到错误“无法打开所选文件。项目文件已被移动、重命名或不在您的计算机上。”

我可能会错过我尝试过的其他东西,如果我能想到任何东西,我一定会更新这个列表。

除了上面列出的那些之外,还有其他方法可以从 TFS 获取这 2 个文件夹及其内容吗?

4

3 回答 3

6

尝试通过 Visual Studio 命令行浏览到该目录并执行以下操作:

tf get . /force /recursive

这应该从当前目录强制递归。

于 2012-07-18T16:53:23.360 回答
0

你已经尝试了我建议的大部分事情。如果这是一个简单的 TFS 对您的电脑上的内容感到困惑的简单案例,则 force-get-latest 应该可以工作。

“文件夹”在 tfs 中,还是在您的解决方案资源管理器中?解决方案资源管理器中的文件夹通常反映真实的磁盘结构,但可以在 SE 中的不同位置获取文件和文件夹,而不是在磁盘上。这盘绕意味着解决方案资源管理器引用的文件未映射到您的 tfs 工作区。

我会检查工作区映射是否尽可能简单(没有分支或额外不需要的文件夹等),关闭解决方案,从源代码控制视图强制获取最新版本的磁盘结构,然后将 .csproj 文件加载到文本编辑器来准确检查项目引用的内容,以确保所有文件都存在并且位于磁盘上的合理位置。

于 2012-07-18T17:43:14.230 回答
0

我发现了问题。我最近将某个域组添加到 TFSProject/Readers TFS 组,然后明确拒绝访问这两个文件夹中的所有权限。看来我虽然在 Contributor TFS 组,但我也是一个“读者”,所以我拒绝访问自己。

于 2012-07-18T18:46:24.857 回答