我继承了一个 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
已将 Project10
的项目文件夹添加到其“其他包含目录”中。
Project
> References
> Add Reference...
。我没有看到 Project10
复选框被勾选。Project1
的文件未注册/签入。这告诉我这必须是 Visual-Studio 相关的功能。构建此解决方案的开发人员已退休,我是唯一负责此存储库的人。我不知道他为什么不直接将 Utility.h/.cpp 提取到静态库项目中。这段代码是大约十年前编写的,最初是在 VS2010 上编写的,所以也许他是一个旧功能,或者 VS2019 中的新功能当时不可用。该存储库最近更新为可在 VS2019 上运行(尽管有项目依赖于 VS2010 v100 平台工具集)。
此存储库是版本控制的(IBM Rational ClearCase)并且具有悠久的历史,因此我不能只删除别名,否则可能会破坏某些内容。我必须弄清楚开发人员到底做了什么,撤消它,并创建一个正确的静态库。
看起来原始开发人员希望这些文件对于两个项目都是通用的,因此将它们添加到 Project10 中。如果您想将它们分开,请执行以下操作:
Del
,然后选择 Remove
。请注意,请勿选择 Delete
选项,因为这会删除物理文件。Add Existing Item
。导航到 Project10 目录中的文件并根据需要进行选择。您现在将拥有每个项目中每个文件的单独副本,彼此独立。