You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Visual Studio 2015/2017同一解决方案同名项目引用报错问题咨询

解决Visual Studio 2015/2017中同名类库项目引用冲突的问题

这不是VS2015-2017的Bug,而是微软在这两个版本中强化了项目引用的命名冲突检测机制——VS2012对这类同名项目的约束更宽松,而后续版本为了避免编译时的文件覆盖、命名空间混淆等潜在问题,增加了严格的校验。

你可以通过以下几种配置方式解决这个问题:

  • 修改程序集名称
    虽然两个项目的文件夹都叫Common,但你可以分别进入每个项目的属性(右键项目 → 属性 → 应用程序),将「程序集名称」修改为不同的名称,比如F1.CommonF2.Common。这样即使项目文件夹同名,编译后的程序集名称唯一,VS就不会再弹出错误。

  • 为项目引用设置别名
    如果不想修改程序集名称,可以给每个引用设置独特的别名:

    1. 在Wapp项目的「引用」节点下,找到第一个Common项目,右键选择「属性」;
    2. 在属性窗口的「别名」栏输入自定义名称(比如F1Common),回车确认;
    3. 对第二个Common项目重复上述操作,设置另一个别名(比如F2Common);
    4. 在代码中使用extern alias F1Common;extern alias F2Common;来区分不同的引用,然后通过F1Common::Common.XXX的方式调用对应类库的代码。
  • 调整输出路径
    检查两个Common项目的输出路径(右键项目 → 属性 → 生成 → 输出路径),确保它们的编译输出文件(比如Common.dll)不会被输出到同一个目录,避免文件覆盖的问题。VS2015+会检测到这种潜在冲突并报错,分开输出路径就能解决。

内容的提问来源于stack exchange,提问作者anonim

火山引擎 最新活动