如何在Visual Studio 2019中移除跨项目的.h/.cpp文件别名?
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
文件关联现象
Project1中的Utility.h和Utility.cpp实际是Project10对应文件的关联映射,具体表现为:
- 若已打开Project10的Utility.h/.cpp编辑窗口,双击打开Project1的对应文件时,VS会直接聚焦到已打开的窗口,而非新建窗口;
- 关闭所有相关窗口后,编辑保存Project1的Utility文件,再打开Project10的对应文件能看到修改内容。
另外,Project1已将Project10的项目文件夹添加至Additional Include Directories中。
已排查内容
- 非资源管理器快捷方式:在资源管理器中检查Project1的顶级项目文件夹,未发现指向Project10对应文件的快捷方式,仅存在Project1独有的源文件和头文件;
- 未添加项目引用:右键Project1 > References > Add Reference...,确认未勾选Project10的复选框;
- 非版本控制配置:通过IBM Rational ClearCase的GUI检查,Project1的这些文件未注册/签入,排除版本控制层面的别名设置,确定是Visual Studio相关特性导致。
重构目标
原搭建方案的开发者已退休,目前我是唯一维护人员。不清楚为何当初未将Utility.h/.cpp提取为静态库项目,代码最初基于VS2010开发(距今近十年),可能采用了当时的旧特性,或是后续VS2019的新特性尚未出现。当前仓库已更新至可在VS2019运行,但仍有一个项目依赖VS2010 v100平台工具集。
由于仓库受IBM Rational ClearCase版本控制且历史悠久,不能直接删除现有关联(可能引发问题),必须先明确开发者当初的设置方式,撤销该关联后,再创建标准的静态库项目。
内容的提问来源于stack exchange,提问作者Minh Tran
相关产品推荐
相关产品推荐

