1

我正在公司内部开发一个 WinForms C# 项目。
我们使用 Visual Studio 2010 和 Team Foundation Server 2010 来管理代码版本。

我想恢复表单的一个版本。
我们将表单称为 MyForm。
MyForm 由三个文件组成:

  • MyForm.cs 包含后面的代码。
  • MyForm.Designer.cs 包含 VS2010 在设计 Form 时自动生成的代码。
  • MyForm.resx。

这是变更集的简化历史记录:

  • 更改集编号:1587。存档文件:
    • MyForm.Designer.cs。添加了一个 TextBox 控件。我们将 TextBox 控件称为 txtMyBox。
    • MyForm.cs。txtMyBox 用于后面的代码。
  • 更改集编号:1390。存档文件:
    • MyForm.cs
  • 更改集编号:1299。存档文件:
    • MyForm.cs
    • MyForm.Designer.cs
  • ...
  • 更改集编号:986。存档文件:
    • MyForm.cs
    • MyForm.Designer.cs
    • MyForm.resx

这是我遵循的程序:

  1. 在解决方案资源管理器中右键单击 MyForm.cs 文件。
  2. 单击上下文菜单中的“获取特定版本”选项。
  3. 选择变更集编号 1390,然后单击“获取”按钮。

然后我尝试在设计器中打开 MyForm 但显示错误。
错误消息告诉我提取已被取消。

我做错了什么 ?

4

2 回答 2

1

你有旧版本的 MyForm.cs(没有文本框)但最新版本的 MyForm.Designer.cs(有文本框)。

你可以做几件事

  1. 在包含这两个文件的文件夹上获取特定版本,这会将所有文件恢复为签入变更集 1390 时可用的版本。(如果您有其他文件需要拥有最新版本的)
  2. 在 1390 在 MyForm.cs 上获取特定版本,在 1299 在 MyForm.Designer.cs 上获取特定版本

这应该确保两个文件彼此同步并解决问题。

于 2012-09-19T18:50:37.347 回答
0

这有点旧,但我最近遇到了同样的问题,这是我的解决方法。VS2012 和 TFS2012

删除本地工作区版本,然后获取最新版本。而已。

于 2014-05-29T19:41:12.710 回答