'System' : 同名的命名空间不存在

新手上路,请多包涵

我有一个运行良好的 C++ 项目。现在我将项目复制到另一个文件夹并将项目添加到 WPF 应用程序解决方案中。

现在 C++ 项目给了我很多构建错误。其中之一是 "System' : a namespace with this name does not exist"

以下是产生此错误的行。

 #include "stdafx.h"

using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::CompilerServices;
using namespace System::Runtime::InteropServices;
using namespace System::Security::Permissions;

以上行在 AssemblyInfo.cpp 文件中。我没有任何 C++ 经验,因此很难消除错误。任何帮助表示赞赏。下面是另一个可能有助于您解决问题的错误。

 managed targeted code requires a '/clr' option

提前致谢。

原文由 Narendra 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

在项目属性的 2 个 位置将公共语言运行时支持设置为“公共语言运行时支持 (/clr)”:

对于 2019 年之前的 Visual Studio:

  • 配置属性 -> 常规
  • 配置属性 -> C/C++ -> 常规

对于 Visual Studio 2019:

  • 配置属性 -> 高级 -> C++/CLI 属性
  • 配置属性 -> C/C++ -> 常规

原文由 Mif 发布,翻译遵循 CC BY-SA 4.0 许可协议

Mif 的回答对我来说有点不完整。如果问题仍然存在,您可能需要检查是否设置了正确的 C++ -version。对我来说,它特别需要 ISO C++17 因为 VS 默认预设 ISO C++14 (至少在我的版本中是一个预设)不支持所需的 CLI 包。因此,仍将运行时支持设置为 公共语言运行时支持 (/clr) ,并在 配置属性-> 常规 选项卡中设置正确的 _C++ 语言标准_。

注意:截至目前(2021 年 10 月) ISO C++20 目前在 CLI 中不受支持,并且也无法找到 System - 我只发现 17 版本兼容。

由于它的视觉方式更轻松,这里是截图。并且不要忘记Yinon_90 提示安装版本和依赖项!

在此处输入图像描述在此处输入图像描述在此处输入图像描述

原文由 Markus 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题