2008-09-08 67 views
54

我有一个vs.net项目,经过一些重构后,修改了项目的名称。如何轻松重命名底层窗口文件夹名称以匹配TFS控制的项目和解决方案下的新项目名称?
注意,我曾经是能够通过使用的SourceSafe在后台的东西摆弄做...在TFS下重命名VS.net中包含的项目文件夹

+4

Visual Studio的功能要求:https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3282247-rename-project文件夹和文件去投票! :-) – 2014-05-23 21:54:44

回答

15

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

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

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

1

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

1

下面是在Visual Studio 2008 TFS的工作对我来说步骤:

  1. 关闭的解决方案。
  2. 在源代码管理资源管理器中重命名项目文件夹(右键单击 - >重命名)。这会将代码复制到新命名的文件夹中。
  3. 打开解决方案,然后在解决方案资源管理器中,删除旧的文件夹/项目,并添加新的正确命名的重复项(在旧项目上,右键单击 - >删除,然后在解决方案上右键单击 - > Add-> Existing Project ...)

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

1

我特别的配置是VS2010连接到TFS2008。我尝试了其他一些解决方案,但遇到了问题。我发现下面的工作对我来说: - 文件夹

  1. 删除项目从解决方案
  2. 保存液改名为
  3. 包含被删除的项目在 TFS源控制(这在本地重命名您的硬盘
  4. 重命名文件夹磁盘)
  5. 添加项目回到从新位置
  6. 保存液
  7. 解决方案提交到源代码管理

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

140
  1. 检入该文件夹内的所有未决更改并确保所有其他团队成员执行相同操作。
  2. 确保您的工作目录中有该文件夹的副本(否则,您将无法在下一步中重命名源代码管理资源管理器中的文件夹)。 在文件夹中获取最新版本以获取副本(如果您还没有)。
  3. 关闭解决方案
  4. 重命名源文件夹内的文件夹。这会将源控件中跟踪的所有文件从文件系统上的原始文件夹移至新文件夹。请注意,未通过源代码管理进行跟踪的文件将保留在原始文件夹中 - 一旦确认没有您需要的文件,您可能需要删除此文件夹。
  5. 打开时提示拿到了新添加从源头控制解决方案项目的解决方案,然后选择“No”。您将收到警告,指出解决方案中的某个项目无法加载。
  6. 选择项目范围内解决方案资源管理器

    请注意,它将变灰并标记为'不可用'

  7. 打开属性窗格。
  8. 编辑'文件路径'属性可以直接使用或使用'...'按钮。

    还请注意,此属性是only editable in Visual Studio 2010。在较新版本的Visual Studio中,您需要手动编辑解决方案文件中的项目路径。就在解决方案项目

  9. 右键单击浏览 r和从上下文菜单中选择刷新项目。如果您收到一条错误消息,指出无法从原始文件夹加载项目,请尝试关闭解决方案,删除解决方案文件所在文件夹中的suo文件,然后重新打开解决方案。
  10. 检查作为单个变更集的更改。
  11. 有其他团队成员“获取最新版本”的解决方案(右击内解决方案资源管理器解决方案,并选择“获取最新版本”从上下文菜单中。

注:其他建议的解决方案涉及删除项目并将其重新添加到解决方案,这将会中断项目引用。

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

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

另外,还要考虑修改以下assembly attributes的值。

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute
+1

+1绝对完美的解决方案。我也删除了旧的文件夹,因为它不再需要。 – 2013-04-11 14:35:30

相关问题