Visual Studio 如何引用同名的两个项目

作者:vkvi 来源:ITPOW(原创) 日期:2022-6-7

本文无实际效果,不需关注。

A 解决方案已有 Common 类项目。

B 解决方案有 Common 类项目,以及 Web 应用程序项目。

现在 B 解决方案的 Web 应用程序项目想引用 A、B 两个 Common 项目。

第一步、添加项目,会发现无法添加,说同名的项目已经存在。

解决办法:右键新建一个“解决方案文件夹”,将某 Common 添加至该解决方案文件夹。

解决方案文件夹是个虚拟的文件夹,并不会改变实际的磁盘路径。

第二步、引用项目,会发现勾选引用时,并不会报错,但是再打开会发现只保留了一个 Common。

解决办法:将某 Common 进行改名(通常是 B 解决方案的),注意,改名只会影响 .csproj 的文件名

引用改名后的项目。

第三步、如果只是改名,你会说我:说了白说。

现在,你再把 Common 改名回去,你会发现,引用了两个 Common,成功了。

引用同名的项目

总结:先用“解决方案文件夹”添加起,再改名,再引用,再改名回去。

【注意】如果项目结构比较复杂,比如 App2 引用了 A 的 Common,当我们改了 A 的 Common 的名称后,App2 会认为它引用的 Common 是未改名的那个,我们要考虑重新引用一下。

没完(没用、没意思)

进一步验证得知,其实上面成功的前提是:提前将 Common 的 DLL 生成在了对应的 Bin/Debug/、Bin/Release/ 目录中,因为 Visual Studio 在生成、发布的时候,只会生成一个 Common,会跳过另一个。

说了那么多,都是白说。

相关文章