24

我有一个运行良好的 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

提前致谢。

4

3 回答 3

55

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

对于 2019 年之前的 Visual Studio:

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

对于 Visual Studio 2019:

  • 配置属性 -> 高级 -> C++/CLI 属性
  • 配置属性 -> C/C++ -> 常规
于 2013-12-15T14:44:15.240 回答
1

当我刚刚更改“Common Language RunTime Support (/clr)”时,这对我来说还不够。

我必须在 VS 中创建项目,这将是 CLR 的专用项目: 在此处输入图像描述

如果你看不到这个选项,你应该先在 VS 安装程序中添加它: 在此处输入图像描述

于 2020-12-03T05:29:44.567 回答
1

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

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

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

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

于 2021-10-18T21:02:29.953 回答