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

时间:2008-09-08 02:45:55

标签: visual-studio-2008 visual-studio-2005 tfs directory

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

6 个答案:

答案 0 :(得分:159)

  1. 签入文件夹中的所有待处理更改,并确保所有其他团队成员也这样做。
  2. 确保您在工作目录中有该文件夹的副本(否则,您将无法在下一步中重命名 Source Control Explorer 中的文件夹)。如果您还没有副本,请在该文件夹上获取最新版本以获取副本。
  3. 关闭解决方案
  4. 重命名 源代码管理资源管理器中的文件夹。这会将源代码管理中跟踪的所有文件从文件系统上的原始文件夹移动到新文件夹。请注意,源控件未跟踪的文件将保留在原始文件夹中 - 一旦确认没有您需要的文件,您可能希望删除此文件夹。
  5. 打开解决方案并在系统提示时选择“ No ”以从源代码管理中获取新添加到解决方案的项目。您将收到一条警告,指出无法加载解决方案中的某个项目。
  6. 解决方案资源管理器中选择项目
      

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

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

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

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

  12.   

    注意:其他建议的解决方案涉及删除然后将项目重新添加到解决方案中将破坏项目引用。

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

    1. 项目文件
    2. 默认/根名称空间
    3. 装配
    4. 另外,请考虑修改以下assembly attributes的值。

      1. AssemblyProductAttribute
      2. AssemblyDescriptionAttribute
      3. AssemblyTitleAttribute

答案 1 :(得分:17)

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

最后一点说明:您无法重命名尚未映射的文件夹,或者您没有完成“获取”。我不知道为什么,但在这些情况下TFS将禁用重命名选项。

至少那是发生在我身上的事,如果我没记错的话。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

以下是在使用TFS的Visual Studio 2008中为我工作的步骤:

  1. 关闭解决方案。
  2. 在源代码管理资源管理器中重命名项目文件夹(右键单击 - >重命名)。这会将代码复制到新命名的文件夹中。
  3. 打开解决方案,在解决方案资源管理器中,删除旧文件夹/项目并添加新的,正确命名的重复项(在旧项目上,右键单击 - >删除,然后在解决方案上,右键单击 - >添加 - >现有项目......)
  4. OR:在步骤2之后,您可以在文本编辑器中打开解决方案的.sln文件,并手动更新项目文件夹名称。如果这样做,您可能需要手动签出.sln文件以确保您的更改将被签入(< - important!)。

答案 4 :(得分:1)

我的特殊配置是VS2010连接到TFS2008。我在这里尝试了其他一些解决方案,但遇到了问题。我发现以下内容对我有用: -

  1. 删除要从解决方案重命名的文件夹中的项目
  2. 保存解决方案
  3. TFS源代码管理中重命名包含已删除项目的文件夹(这将在您的硬盘上本地重命名)
  4. 将项目从新位置添加回解决方案
  5. 保存解决方案
  6. 提交源代码管理
  7. 现在,您将拥有重命名文件夹,并且解决方案会重新映射所有在一个变更集下提交的内容。

答案 5 :(得分:0)

对于 Visual Studio 2019 ASP.NET Core 2.2 ,我不得不略微修改Scott Munro的答案。这是对我有用的东西:

开始之前:检入所有更改并备份解决方案。

  1. 使用 Solution Explorer 重命名项目(即,右键单击该项目,然后单击重命名)。
  2. Source Control Explorer 中重命名项目文件夹。
  3. 在文本编辑器中打开解决方案的 .sln 文件,然后修复文件路径。 (将对“ OldProjectName”的所有引用替换为“ NewProjectName”)。
  4. 在Visual Studio中重新加载您的解决方案。
  5. 查找并用新的项目名称替换所有旧的命名空间。
  6. 完成。签入更改。

为了在第3步修复文件路径后加载项目,我必须首先执行第1步。