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


67

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


Answers:


21

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

最后一点:您不能重命名尚未映射的文件夹,或者尚未从中获取“获取”的文件夹。我不知道为什么,但是在这些情况下,TFS将禁用“重命名”选项。

如果我没记错的话,至少这就是我的经历。


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

    请注意,它将显示为灰色,并标记为'不可用'

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

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

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

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

如果执行这些步骤,则可能还会考虑重命名以下内容以适合您。

  1. 工程档案
  2. 默认/根命名空间
  3. 部件

另外,请考虑修改以下程序集属性的值。

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

1
+1绝对完美的解决方案。我也删除了旧文件夹,因为不再需要它。
Crispalot爵士,13年

1
+1工作出色!在VS 2012中,我必须在重新加载项目后关闭解决方案(第9步)才能正确构建解决方案。
亚当47 2014年

1
VS 2012用户的注释:File Path在第8步中不可编辑。之后第5步,再次关闭该解决方案。找到.sln文件,删除只读属性,然后手动编辑项目路径(指向文件顶部)。保存文件(保留只读属性为关闭状态),重新打开解决方案,然后继续执行步骤10。
Cᴏʀʏ2015年

1
删除suo文件是我缺少的部分!尽管我疯了,但这个答案使我头疼很多。
Jakub Januszkiewicz

9
“只需17个简单的步骤即可在TFS中重命名文件夹!” :-)

1

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


1

以下是在带有TFS的Visual Studio 2008中对我有用的步骤:

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

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


1

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

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

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


0

对于Visual Studio 2019ASP.NET Core 2.2,我不得不稍作修改Scott Munro的答案。这对我有用:

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

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

我必须先执行步骤1,才能在步骤3中修复文件路径后加载项目。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.