在TFS下的VS.net中重命名包含的项目文件夹

我有一个vs.net项目,经过一些重构,修改了项目名称。 如何轻松地重命名基础的Windows文件夹名称以匹配TFS控制的项目和解决scheme下的这个新的项目名称?
请注意,我曾经能够通过使用SourceSafe在背景中摆弄东西来完成…

只需右键单击TFS中的文件夹,然后select重命名。 一旦你提交重命名,TFS将为你做磁盘上的更改。 正如Kevin所指出的那样,您将需要确保所有内容都已经签入,因为TFS将删除旧文件夹及其中的所有内容,并使用当前版本的文件下拉已重命名的文件夹。

最后一个注意事项:你不能重命名你没有映射的文件夹,或者你没有完成“获取”。 我不知道为什么,但TFS将在这些情况下禁用重命名选项。

如果我没有记错,至less这就是发生在我身上的事情。

  1. 检查文件夹内的所有未决更改,并确保所有其他团队成员执行相同的操作。
  2. 确保您的工作目录中有该文件夹的副本(否则,您将无法在下一步中重命名源控制资源pipe理器中的文件夹)。 获取最新版本的文件夹,以获得副本,如果你还没有一个。
  3. closures解决scheme
  4. 重命名 源代码pipe理资源pipe理器中的文件夹。 这会将源控件中跟踪的所有文件从文件系统上的原始文件夹移动到新文件夹。 请注意,未被源代码pipe理追踪的文件将保留在原始文件夹中 – 一旦确认没有您需要的文件,您可能需要删除此文件夹。
  5. 打开解决scheme并select“ No ”,当提示从源代码pipe理中获取新添加到解决scheme的项目时。 您将收到警告,解决scheme中的某个项目无法加载。
  6. Solution Explorer中 select项目

    请注意,它将变成灰色并标记为“不可用”

  7. 打开“ 属性”窗格。
  8. 编辑'文件path'属性直接或使用' ... 'button。

    还要注意,这个属性只能在Visual Studio 2010中编辑 。 在较新版本的Visual Studio中,您将需要手动编辑解决scheme文件中的项目path。

  9. 右键单击Solution Explore r中的项目,然后从上下文菜单中selectReload Project 。 如果您收到错误消息说无法从原始文件夹加载项目,请尝试closures解决scheme,删除与解决scheme文件位于同一文件夹中的suo文件,然后重新打开解决scheme。
  10. 将更改作为单个更改集签入。
  11. 让其他团队成员为解决scheme获取最新版本(右键单击解决scheme资源pipe理器中的解决scheme,然后从上下文菜单中select“获取最新版本”。

注:其他build议的解决scheme涉及到删除项目然后重新添加到解决scheme将会中断项目引用。

如果你执行这些步骤,那么你也可以考虑重命名以下内容。

  1. 项目文件
  2. 默认/根命名空间
  3. 部件

另外,请考虑修改以下assembly属性的值。

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

您可以在TFS中重命名项目(.Xproj文件和项目文件夹),删除本地文件夹结构及其所有内容,然后为项目做一个最新的。 所有这一切都取决于您的源代码库的概念是完全最新和可编译的。

以下是在Visual Studio 2008中使用TFS的步骤:

  1. closures解决scheme
  2. 在源代码pipe理资源pipe理器中重命名项目文件夹(右键单击 – >重命名)。 这将代码复制到新命名的文件夹中。
  3. 打开解决scheme,在解决scheme资源pipe理器中,删除旧的文件夹/项目,并添加新的,正确命名,重复项目(在旧项目上,右键单击 – >删除,然后在解决scheme上,右键单击 – >添加 – >现有项目…)

或者:在步骤2之后,您可以在文本编辑器中打开解决scheme的.sln文件,并手动更新项目文件夹名称。 如果您这样做,您可能需要手动签出.sln文件,以确保您的更改将被检入(< – important!)。

我特别的configuration是VS2010连接到TFS2008。 我尝试了一些其他的解决scheme,但有问题。 我发现以下工作对我来说: –

  1. 从解决scheme中删除要重命名的文件夹中的项目
  2. 保存解决scheme
  3. TFS源代码pipe理中重命名包含已删除项目的文件夹(在硬盘上本地重命名)
  4. 将项目添加回新位置的解决scheme
  5. 保存解决scheme
  6. 致力于源代码pipe理

现在,您将拥有文件夹重命名和解决scheme重新映射所有提交下一个变更集。