如何从 Visual Studio 2019 中的另一个项目中删除 .cpp 和 .h 文件的快捷方式/别名?

问题描述 投票:0回答:1

我继承了一个 Visual Studio 解决方案,其结构如下(代码是专有的,因此我无法发布原始代码):

Solution1
|_Project1 (WindowsApp)
  |_"Header Files"
    |_Utility.h
  |_"Source Files"
    |_Utility.cpp
    |_Main.cpp
...
|_Project10 (SystemService)
  |_"Header Files"
    |_Utility.h
  |_"Source Files"
    |_Utility.cpp

Utility.h
中的
Utility.cpp
Project1
在某种程度上是Utility.h中的
Utility.cpp
Project10
别名
。当我说“别名”时,我的意思是:

  • 如果您双击打开 Project1 的 Utility.h/.cpp,而您已经打开了 Project10 中的 Utility.h/.cpp 窗口,则不要打开新窗口(即,表明您正在查看 copy ),Visual Studio 重点关注 Project10 的 Utility.h/.cpp 窗口。
  • 如果关闭所有 Utility.h/.cpp 代码窗口,打开 Project1 的 Utility.h/.cpp 窗口,进行编辑并保存,然后打开 Project10 的 Utility.h/.cpp,您将看到这些更改。

Project1
已将
Project10
的项目文件夹添加到其“其他包含目录”中。

我检查过的内容

  • Project1 实用程序文件不是文件快捷方式: 我在 Explorer.exe 中检查了 Project1 的顶级项目文件夹,但没有看到链接回 Project10 的 Utility.h/.cpp 快捷方式文件。只有 Project1 特有的源文件和头文件驻留在 Project1 的文件夹中。
  • Project1 不引用 Project10: 如果我右键单击
    Project
    >
    References
    >
    Add Reference...
    。我没有看到
    Project10
    复选框被勾选。
  • 版本控制没有创建这些快捷方式:我使用版本控制 GUI (IBM Rational ClearCase) 进行了检查,并且
    Project1
    的文件未注册/签入。这告诉我这必须是 Visual-Studio 相关的功能。

目标

构建此解决方案的开发人员已退休,我是唯一负责此存储库的人。我不知道他为什么不直接将 Utility.h/.cpp 提取到静态库项目中。这段代码是大约十年前编写的,最初是在 VS2010 上编写的,所以也许他是一个旧功能,或者 VS2019 中的新功能当时不可用。该存储库最近更新为可在 VS2019 上运行(尽管有项目依赖于 VS2010 v100 平台工具集)。

此存储库是版本控制的(IBM Rational ClearCase)并且具有悠久的历史,因此我不能只删除别名,否则可能会破坏某些内容。我必须弄清楚开发人员到底做了什么,撤消它,并创建一个正确的静态库。

visual-studio visual-studio-2010 visual-studio-2019
1个回答
0
投票

看起来原始开发人员希望这些文件对于两个项目都是通用的,因此将它们添加到 Project10 中。如果您想将它们分开,请执行以下操作:

  • 在VS的解决方案资源管理器窗口中右键单击Project10中的每个文件。选择
    Del
    ,然后选择
    Remove
    。请注意,请勿选择
    Delete
    选项,因为这会删除物理文件。
  • 打开 Windows 资源管理器并将两个文件从 Project1 文件夹复制到 Project10 文件夹。
  • 返回 Visual Studio 和解决方案资源管理器的 Project10 部分。右键单击相关项目文件夹(头文件或源文件)并选择
    Add Existing Item
    。导航到 Project10 目录中的文件并根据需要进行选择。

您现在将拥有每个项目中每个文件的单独副本,彼此独立。

© www.soinside.com 2019 - 2024. All rights reserved.