"Система": пространство имен с таким именем не существует

У меня был проект 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

Заранее спасибо.

3 ответа

Решение

Установите в качестве поддержки общего языка RunTime значение "Поддержка общего языка RunTime (/clr)" в 2 местах в свойствах проекта:

Свойства конфигурации -> Общие

Свойства конфигурации -> C/C++ -> Общие

Ответ Миф был для меня немного неполным. Если проблема не исчезла, проверьте, правильно ли вы установили C++-версия. Для меня это было особенно необходимо ISO C++17 потому что предустановка VS по умолчанию ISO C++14(по крайней мере, пресет в моей версии) не поддерживает требуемые CLI-пакеты. Таким образом, по-прежнему установите для поддержки среды выполнения значение Common Language RunTime Support (/clr) и установите правильный стандарт языка C++ во вкладке « Свойства конфигурации» -> « Общие ».

Примечание: на данный момент (октябрь 2021 г.) ISO C++20 в настоящее время не поддерживается в CLI и также не может найти System - Я обнаружил, что совместима только 17-версия.

Так как это немного проще визуально, вот скриншоты. А также не забывайте подсказку Yinon_90, чтобы установить версию и зависимости!

It was not enough for me when I just changed "Common Language RunTime Support (/ clr)".

I had to create the project in VS which would be a dedicated project for CLR:

If you cannot see this option, you should add it in the VS installer first:

Другие вопросы по тегам