Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'System' : a namespace with this name does not exist

I had a C++ project which was running perfectly. Now I copied the project to another folder and added the project to a WPF application solution.

Now the C++ project is giving me lot of build errors. One of them is "System' : a namespace with this name does not exist".

Below are the lines which creates this error.

#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;

The above lines are in AssemblyInfo.cpp file. I don't have any experience of C++, so finding it difficult to remove the errors. Any help is appreciated. Below is another error which might be helpful for you to resolve the issue.

managed targeted code requires a '/clr' option

Thanks in advance.

like image 251
Narendra Avatar asked May 24 '13 10:05

Narendra


3 Answers

Set Common Language RunTime Support to be "Common Language RunTime Support (/clr)" in 2 places in your project properties :

For Visual Studio before 2019:

  • Configuration Properties -> General
  • Configuration Properties -> C/C++ -> General

For Visual Studio 2019:

  • Configuration Properties -> Advanced -> C++/CLI Properties
  • Configuration Properties -> C/C++ -> General
like image 192
Mif Avatar answered Nov 17 '22 02:11

Mif


Mif's answer was a little incomplete for me. If you still have the issue, you'd might want to check if you set the correct C++-version. For me it specifically needed ISO C++17 because the VS default preset ISO C++14 (at least a preset in my version) does not support the required CLI-packages. Thus, still set the Runtime support to Common Language RunTime Support (/clr) and set the correct C++ Language Standard in the Configuration Properties -> General tab.

Note: As of now (October 2021) ISO C++20 is currently not supported in CLI and will also fail to find System - I only found the 17-version to be compatible.

Since its a little easer the visual way, here the screenshots. And also don't forget Yinon_90's hint to have the version as well as dependencies installed!

enter image description here enter image description here enter image description here

like image 3
Markus Avatar answered Nov 17 '22 02:11

Markus


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: enter image description here

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

like image 1
Yinon_90 Avatar answered Nov 17 '22 03:11

Yinon_90