【问题标题】:migrating CLR project to VS 2015 throws C2869 compiler error将 CLR 项目迁移到 VS 2015 会引发 C2869 编译器错误
【发布时间】:2015-08-17 12:59:50
【问题描述】:

我正在将 CLR 类库从 vs2010(v4.0) 转换为 vs2015。 我收到错误:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\system_error(24): 错误 C2869: 'std::errc': 已被定义为命名空间

我也无法在 x64 中添加引用,而 c# assebly 已使用 Any CPU 目标构建。

无法添加参考

  • 面向更高版本的 .NET Framework
  • 不是 .Net 程序集
  • 不是注册的 ActiveX 控件

【问题讨论】:

    标签: c# c++ visual-studio


    【解决方案1】:

    对我来说,C2869 错误是由引用使用旧版 Visual Studio 构建的程序集引起的。我通过以下步骤解决了这个问题:

    1. 在您的项目中创建一个虚拟 cpp 文件,只需以下几行:

      包括“Stdafx.h”//如果需要

      包括“system_error”

    2. 仅编译虚拟文件并确认您看到了 C2869 错误。

    3. 从您的项目中删除所有引用,只编译虚拟文件并确认 C2869 消失。
    4. 一一添加您的引用并编译虚拟文件,直到 C2869 重新出现。现在您知道是哪个引用导致了问题。
    5. 要么使用 Visual Studio 2015(v140* 工具集)重建引用,要么找到删除引用的方法。

    【讨论】:

      猜你喜欢
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多