【问题标题】:How to rename solution, solution folder, project folder, package/filter folder and vcxproj file in Visual Studio 2012如何在 Visual Studio 2012 中重命名解决方案、解决方案文件夹、项目文件夹、包/过滤器文件夹和 vcxproj 文件
【发布时间】:2012-12-23 21:52:06
【问题描述】:

我在使用我的游戏项目执行上述任何操作时遇到问题。网上已经有很多答案,我浏览了所有答案,但它们对我不起作用或有不同的情况。这是我的情况:

这就是我的解决方案的样子。我在 Visual Studio 中将项目名称从 X-Power 更改为 Neo_Elements,这很有效。但不影响实际的物理文件夹。

.vcxproj 文件的物理文件路径和名称是...\Neo_Elements\WorldScrollingGame\WorldScrollingGame.vcxproj

.sln 文件的物理文件路径和名称是 ...\Neo_Elements\X-Power.sln

我想做什么:

  1. 将解决方案重命名为 Neo_Elements(因此.sln 文件将相应更改)

  2. 将文件路径改为...\Neo_Elements\Neo_Elements\...

  3. 将 .vcxproj 文件重命名为 Neo_Elements.vcxproj

所以更改后的 .sln 文件路径和名称应该是 ...\Neo_Elements\Neo_Elements.sln

.vcxproj 文件路径和名称应为...\Neo_Elements\Neo_Elements\Neo_Elements.vcxproj

解决方案和项目名称都是Neo_Elements

我做了什么:

  1. 在 Visual Studio 中按解决方案名称上的 F2 重命名解决方案。

发生了什么:

该项目不再构建并创建一堆这样的编译错误:

fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
fatal error C1083: Cannot open include file: 'resource.h': No such file or directory

我什至没有更改物理文件夹,也不知道为什么找不到文件,而且丢失文件的位置对我来说似乎完全随机。 (不仅是\WorldScrollingGame 下的那些,还有一些更深层次的。还有很多文件受到影响,但只有少数文件找不到)。 当我尝试将解决方案名称改回 X-Power 时,事实证明我做不到。它说 “无法重命名解决方案,因为具有指定名称的解决方案文件已经存在”,尽管事实上不再存在 X-Power.sln。尽管如此,我已经完全被困在这里,不得不从备份中恢复整个解决方案(或在 Windows 资源管理器中手动更改 .sln 文件的名称)。第一次尝试失败。

然后我开始尝试第二个,方法是在 VS 之外更改项目文件夹。

我做了什么:

我关注this link:关闭VS,在VS外部重命名项目主管,在文本编辑器中编辑.sln将"X-Power", "WorldScrollingGame\WorldScrollingGame.vcxproj"更改为"X-Power", "Neo_Elements\WorldScrollingGame.vcxproj"(奇怪的是X-Power应该是Neo_Elements 因为我在 VS 中编辑了项目名称,但不知何故它并没有反映这里的变化,除非这不是项目名称的反映,根据该链接绝不应该是这种情况.但我不想因为之前发生的事情而现在弄乱解决方案名称)。

发生了什么:

事实证明,我仍然收到一堆编译错误,类似于我第一次尝试时遇到的错误,不知道如何解决这些错误。

所以我没有尝试第三个,因为我什至不知道如何

请帮忙!这几个实在不行。

编辑: 我知道只开始一个新文件并迁移所有文件可能会更好,但我之前无法在任何情况下进行重命名——即使是单个解决方案重命名或单个项目目录重命名。所以我想借此机会弄清楚这实际上是如何工作的,因为它似乎对很多人都有效

【问题讨论】:

  • 我只有在尝试重命名这样的解决方案时遇到过糟糕的经历 - 很可能有一种方法,但如果是这样的话,那将是非常不直观的,而且您可能已经将事情与手动编辑混淆了不会工作。在你的鞋子里,我会从轨道上用核武器摧毁它,然后从头开始制定一个新的解决方案。 [编辑:您当然可以保留代码文件,并在正确位置创建后将它们重新添加到新解决方案中]

标签: visual-studio visual-studio-2012


【解决方案1】:

我可以给你一个我认为可行的建议。在解决方案资源管理器中的 Visual Studio 2012 中,通过打开所有节点并查看它的位置来找到文件 .vcxproj。然后从那里重命名文件。对您的所有其他文件执行相同操作。完成所有这些之后,您的最后一项任务应该是从 VS2012 内部更改解决方案名称。 希望这会有所帮助。 任何 cmets 或响应将不胜感激。

【讨论】:

    【解决方案2】:

    这是我过去所做的。首先尝试在 VS 中重命名解决方案并不好。 假设您要更改项目名称和解决方案名称。

    1. 关闭VS。
    2. 在继续之前制作项目的备份副本。
    3. 在 Windows 资源管理器中,导航到您的解决方案根目录。您将在此处找到您的 ProjectFile、包和 .sln 文件。
    4. 让我们通过打开项目文件夹并重命名 .csproj 文件来更改项目名称。
    5. 接下来右键单击您的 .sln 文件并选择在记事本中编辑。寻找这样的一行: Project("{FAE04EC0-301F-11D3-BF4B-xxxxxxxxx}") = "MyProject", "MyProject\MyProject.csproj", "{C1AD3829-E4BA-4BF1-85EB-672A85A4D35D}" 将 .csproj 名称更改为 您在步骤 4 中的新名称。您可能希望将文件夹名称设为 也正确。
    6. 保存并关闭记事本。
    7. 最后右键单击 .sln 文件并选择重命名。选择你的名字并关闭。
    8. 现在打开 VS,选择 File>Open> Project Solution 并导航到您刚刚更改的 .sln 文件。
    9. 希望这可以解决问题。如果不是,请仔细检查您的更改。

    【讨论】:

    • 手动重命名 sln 文件使我的解决方案无法构建:由于某种原因,它开始在解决方案文件夹之外的另一个文件夹中丢失 .h 文件。不,我的路径不是硬编码的。一切都使用 $(SolutionDir)、$(ProjectDir) 和所有其他设置,没有硬编码文件夹。我唯一更改的是解决方案文件: MyProgram.sln 到 MyProgram2.sln 并且它停止构建:开始缺少标题并说我需要在我的项目中支持 C++ 17(在项目中设置)。一旦我将我的 .sln 文件命名回 MyProgram.sln,它就会构建。我按照@David Sapko 的回答重命名了我的 .sln 文件
    【解决方案3】:

    您收到消息的原因

    “无法重命名该解决方案,因为具有指定名称的解决方案文件已存在”

    可能是因为根文件夹中有一个同名的“.sln”文件,或者项目文件夹中仍然存在与该旧解决方案相关的文件。

    在解决方案根文件夹中找到“.vs”文件夹。查找与您尝试将解决方案命名为相同名称的文件夹。删除那个文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-07
      • 2022-11-29
      相关资源
      最近更新 更多