To formalize and expand on my comment, the Console
class and generally the System
namespace are part of the .NET framework.
In that context, the «C++» tab included in the MSDN documentation page of the Console::SetCursorPosition(int, int) method actually refers to the C++/CLI language. The C++/CLI language is distinct (although intentionally similar) from the C++ language. Correspondingly, the C++/CLI language contains various constructs which are not recognized by the C++ compiler toolset used when compiling Win32 projects.
In other words, to get rid of the "Error: name must be a namespace name"
error, you would need to convert your Win32 C++ project to a CLR project. The easiest way to do that would be to create a new project, selecting one of the templates under «Visual C++» / «CLR»:
The equivalent of .lib file depdendencies (relative to your Lib Files as Linker Input link) of Win32 projects for CLR project would be assembly references. You’d then typically add those assembly references with «Add References» under «Common Properties , References» project properties:
However, in your specific case you may very well find out that the System
assembly reference is already included as part of the CLR project template.
You may want to check How to: Add or Remove References on MSDN for more details.
Finally, if you absolutely want to manually convert an existing Win32 project, you would need to set the «Common Language Runtime Support» project properties under «General» and the «C/C++ , General» tabs to one of /clr
, /clr:pure
, /clr:safe
or /clr:oldSyntax
(depending on your specific application requirements; if you’re just toying around you might want to start with /clr
) for all Configurations and Platforms as well as specify the targeted .Net framework version by directly editing the .vcxproj (as indicated in this answer). You would also still need to add assembly dependencies as with the new project approach above.
- Remove From My Forums
-
Question
-
I am building an outlook Addin in Visual C++ (ATL).
The basic addin is working fine. I need to use HttpWebRequest to set cookies. Here I will need System namespace.
But, I am not able to use «using namespace system». it says «A namespace with this name does not exist». Similarly, i m not able to use <System.dll> or <mscorlib.dll>.I tried to change Properties > Configuration Properties > General > Common language Runtime Support as «/clr» but in this case I get two errors
1. error RA0000: Could not load file or assembly «name» or one of its dependencies.
2. error: PRJ0050Failed to register output. Please ensure you have appropriate permission to modify registry.Well, I have admin previlledge. And, my addin is running on outlook if I do not use the namespace and do not change CLR.
So, how can I set my cookies (Which is my main Goal)..
Thanx
Satish
Answers
-
HttpWebRequest is not ATL, it is CLR. If you want to use it, you must do what the error message says (C1190), and use a /clr option. Otherwise, investigate CInternetSession.
|
|
|
error C2871: System: пространство имен с таким именем не существует
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Здравствуйте форумчане! |
like-nix |
|
Senior Member Рейтинг (т): 27 |
Посмотрите тут http://msdn.microsoft.com/ru-ru/library/8x5x43k7(v=VS.90).aspx |
Hsilgos |
|
Потому что ты скорее всего компилируешь программу написанную на C# (или скорее на C++/CLI) компилятором C++. Сообщение отредактировано: Hsilgos — 19.03.11, 16:17 |
like-nix |
|
Senior Member Рейтинг (т): 27 |
Я Вам помогу =) «имя»: пространство имен с таким именем не существует. В следующем примере показано возникновение ошибки C2871:
// C2871.cpp // compile with: /c using namespace d; // C2871 d is not a namespace using namespace System; // OK Добавлено 19.03.11, 16:16 Цитата Hsilgos @ 19.03.11, 16:14 C# компилятором C++. Интересный вариант =) Сообщение отредактировано: like-nix — 19.03.11, 16:17 |
Qraizer |
|
Дай угадаю. Создал проект C++, и писать пытаешься на ManagedC++? |
МихаилИнженер |
|
Создал проект на C++. Сделал в нём форму Приветствие.h. В начале файла Приветствие.h есть строки:
#pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing;
Компилятор начинает находить ошибки начиная со строки: using namespace System; |
Hsilgos |
|
Создать другой тип проекта: VisualC++ -> CLR Добавлено 19.03.11, 17:36 |
МихаилИнженер |
|
Моя задача создать окно и научиться из этого окна вызывать другие формы на экран |
Adil |
|
Цитата МихаилИнженер @ 19.03.11, 17:39 Моя задача создать окно и научиться из этого окна вызывать другие формы на экран Язык то какой выбрал для этого? Добавлено 19.03.11, 17:48 Цитата МихаилИнженер @ 19.03.11, 16:44 Сделал в нём форму Приветствие.h. В начале файла Приветствие.h Ужас какой. Что-нибудь где-нибудь когда-нибудь точно заглючит. |
МихаилИнженер |
|
А что надо делать, какой проект создавать чтобы из одной формы вызывать другую? |
D_KEY |
|
Впервую очередь, нужно решить, на каком языке писать, на С++ или С++/CLI. Соответственно выбрать проект. Сообщение отредактировано: D_KEY — 19.03.11, 18:03 |
МихаилИнженер |
|
Вроде как надо писать на C++. Так как ObjectARX написан на C++ |
ElcnU |
|
как создаешь проект |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- .NET: Общие вопросы
- Следующая тема
[ Script execution time: 0,0365 ] [ 16 queries used ] [ Generated: 4.06.23, 12:36 GMT ]
Перейти к контенту
To formalize and expand on my comment, the Console
class and generally the System
namespace are part of the .NET framework.
In that context, the «C++» tab included in the MSDN documentation page of the Console::SetCursorPosition(int, int) method actually refers to the C++/CLI language. The C++/CLI language is distinct (although intentionally similar) from the C++ language. Correspondingly, the C++/CLI language contains various constructs which are not recognized by the C++ compiler toolset used when compiling Win32 projects.
In other words, to get rid of the "Error: name must be a namespace name"
error, you would need to convert your Win32 C++ project to a CLR project. The easiest way to do that would be to create a new project, selecting one of the templates under «Visual C++» / «CLR»:
The equivalent of .lib file depdendencies (relative to your Lib Files as Linker Input link) of Win32 projects for CLR project would be assembly references. You’d then typically add those assembly references with «Add References» under «Common Properties , References» project properties:
However, in your specific case you may very well find out that the System
assembly reference is already included as part of the CLR project template.
You may want to check How to: Add or Remove References on MSDN for more details.
Finally, if you absolutely want to manually convert an existing Win32 project, you would need to set the «Common Language Runtime Support» project properties under «General» and the «C/C++ , General» tabs to one of /clr
, /clr:pure
, /clr:safe
or /clr:oldSyntax
(depending on your specific application requirements; if you’re just toying around you might want to start with /clr
) for all Configurations and Platforms as well as specify the targeted .Net framework version by directly editing the .vcxproj (as indicated in this answer). You would also still need to add assembly dependencies as with the new project approach above.
- Remove From My Forums
-
Вопрос
-
создаю пустой проект с++ и хочу подключить пространство имен System::Windows::Forms;
Ответы
-
Я уже отвечал однажды на подобный вопрос. Посмотрите
здесь. Проблема в том, что мастер создания форм уже добавил директивы using в заголовочном файле внутрь пространства имен Вашего проекта. Вам не нужно их писать в cpp-файле, нужно лишь «открыть» пространство
проекта и все.
Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!
- Предложено в качестве ответа
23 октября 2014 г. 6:12
- Помечено в качестве ответа
Magals
23 октября 2014 г. 7:48
- Предложено в качестве ответа
b_d 4 / 2 / 1 Регистрация: 27.01.2014 Сообщений: 114 |
||||||||||||
1 |
||||||||||||
30.04.2014, 17:05. Показов 15670. Ответов 10 Метки нет (Все метки)
почему в консоли я не могу поставить вот это
рядом с этим
хочу использовать
в виндовс формс это уже используется а тут не получается
__________________ 0 |
Каратель 6606 / 4025 / 401 Регистрация: 26.03.2010 Сообщений: 9,273 Записей в блоге: 1 |
|
30.04.2014, 17:07 |
2 |
проект CLR консольный? 0 |
Don’t worry, be happy 17777 / 10542 / 2034 Регистрация: 27.09.2012 Сообщений: 26,510 Записей в блоге: 1 |
|
30.04.2014, 17:07 |
3 |
Где тут? В c++/cli чтоли? Тогда причем тут раздел c++? 0 |
4773 / 3267 / 497 Регистрация: 19.02.2013 Сообщений: 9,046 |
|
30.04.2014, 17:18 |
4 |
Тогда причем тут раздел c++? потому что в нем не написано «only native c++» Но даже если и будет написано, всё равно такие темы будут создаваться, т.к. раздел для новичков, а им в большинстве своем неведомы различия cli-не-cli. 0 |
b_d 4 / 2 / 1 Регистрация: 27.01.2014 Сообщений: 114 |
||||
30.04.2014, 17:30 [ТС] |
5 |
|||
обычный консольный проект, вот код:
Добавлено через 2 минуты 0 |
Tulosba
4773 / 3267 / 497 Регистрация: 19.02.2013 Сообщений: 9,046 |
||||
30.04.2014, 17:44 |
6 |
|||
score = System::Convert::ToInt32(score_s); b_d, откуда вы взяли это?
0 |
2644 / 2220 / 239 Регистрация: 03.07.2012 Сообщений: 8,064 Записей в блоге: 1 |
|
30.04.2014, 17:56 |
7 |
Определись с проектом — он CLR или обычный (не CLR). 0 |
4 / 2 / 1 Регистрация: 27.01.2014 Сообщений: 114 |
|
30.04.2014, 18:37 [ТС] |
8 |
обычный Добавлено через 31 минуту Добавлено через 1 минуту Добавлено через 22 секунды 0 |
Don’t worry, be happy 17777 / 10542 / 2034 Регистрация: 27.09.2012 Сообщений: 26,510 Записей в блоге: 1 |
|
30.04.2014, 18:42 |
9 |
проблема в общем то не решена clr и не clr проекты — это проекты для разных языков программирования! 0 |
4 / 2 / 1 Регистрация: 27.01.2014 Сообщений: 114 |
|
30.04.2014, 19:00 [ТС] |
10 |
clr и не clr проекты — это проекты для разных языков программирования! ну вот я в студии создаю пустой проект не clr — самый обычный самый пустой, самая присама консолька… пишу в ней на c++… далее создаю пустой проект clr и добавляю в него форму, в ней, то есть в .h файле, пишу… тоже на c++… 0 |
Don’t worry, be happy 17777 / 10542 / 2034 Регистрация: 27.09.2012 Сообщений: 26,510 Записей в блоге: 1 |
|
30.04.2014, 19:04 |
11 |
далее создаю пустой проект clr и добавляю в него форму, в ней, то есть в .h файле, пишу… тоже на c++… это уже c++/cli — другой язык 0 |
|
|
|
error C2871: System: пространство имен с таким именем не существует
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Здравствуйте форумчане! |
like-nix |
|
Senior Member Рейтинг (т): 27 |
Посмотрите тут http://msdn.microsoft.com/ru-ru/library/8x5x43k7(v=VS.90).aspx |
Hsilgos |
|
Потому что ты скорее всего компилируешь программу написанную на C# (или скорее на C++/CLI) компилятором C++. Сообщение отредактировано: Hsilgos — 19.03.11, 16:17 |
like-nix |
|
Senior Member Рейтинг (т): 27 |
Я Вам помогу =) «имя»: пространство имен с таким именем не существует. В следующем примере показано возникновение ошибки C2871:
// C2871.cpp // compile with: /c using namespace d; // C2871 d is not a namespace using namespace System; // OK Добавлено 19.03.11, 16:16 Цитата Hsilgos @ 19.03.11, 16:14 C# компилятором C++. Интересный вариант =) Сообщение отредактировано: like-nix — 19.03.11, 16:17 |
Qraizer |
|
Дай угадаю. Создал проект C++, и писать пытаешься на ManagedC++? |
МихаилИнженер |
|
Создал проект на C++. Сделал в нём форму Приветствие.h. В начале файла Приветствие.h есть строки:
#pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing;
Компилятор начинает находить ошибки начиная со строки: using namespace System; |
Hsilgos |
|
Создать другой тип проекта: VisualC++ -> CLR Добавлено 19.03.11, 17:36 |
МихаилИнженер |
|
Моя задача создать окно и научиться из этого окна вызывать другие формы на экран |
Adil |
|
Цитата МихаилИнженер @ 19.03.11, 17:39 Моя задача создать окно и научиться из этого окна вызывать другие формы на экран Язык то какой выбрал для этого? Добавлено 19.03.11, 17:48 Цитата МихаилИнженер @ 19.03.11, 16:44 Сделал в нём форму Приветствие.h. В начале файла Приветствие.h Ужас какой. Что-нибудь где-нибудь когда-нибудь точно заглючит. |
МихаилИнженер |
|
А что надо делать, какой проект создавать чтобы из одной формы вызывать другую? |
D_KEY |
|
Впервую очередь, нужно решить, на каком языке писать, на С++ или С++/CLI. Соответственно выбрать проект. Сообщение отредактировано: D_KEY — 19.03.11, 18:03 |
МихаилИнженер |
|
Вроде как надо писать на C++. Так как ObjectARX написан на C++ |
ElcnU |
|
как создаешь проект |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- .NET: Общие вопросы
- Следующая тема
[ Script execution time: 0,0456 ] [ 16 queries used ] [ Generated: 29.01.23, 02:55 GMT ]
- Remove From My Forums
-
Question
-
I am building an outlook Addin in Visual C++ (ATL).
The basic addin is working fine. I need to use HttpWebRequest to set cookies. Here I will need System namespace.
But, I am not able to use «using namespace system». it says «A namespace with this name does not exist». Similarly, i m not able to use <System.dll> or <mscorlib.dll>.I tried to change Properties > Configuration Properties > General > Common language Runtime Support as «/clr» but in this case I get two errors
1. error RA0000: Could not load file or assembly «name» or one of its dependencies.
2. error: PRJ0050Failed to register output. Please ensure you have appropriate permission to modify registry.Well, I have admin previlledge. And, my addin is running on outlook if I do not use the namespace and do not change CLR.
So, how can I set my cookies (Which is my main Goal)..
Thanx
Satish
Answers
-
HttpWebRequest is not ATL, it is CLR. If you want to use it, you must do what the error message says (C1190), and use a /clr option. Otherwise, investigate CInternetSession.
- Remove From My Forums
-
Question
-
I am building an outlook Addin in Visual C++ (ATL).
The basic addin is working fine. I need to use HttpWebRequest to set cookies. Here I will need System namespace.
But, I am not able to use «using namespace system». it says «A namespace with this name does not exist». Similarly, i m not able to use <System.dll> or <mscorlib.dll>.I tried to change Properties > Configuration Properties > General > Common language Runtime Support as «/clr» but in this case I get two errors
1. error RA0000: Could not load file or assembly «name» or one of its dependencies.
2. error: PRJ0050Failed to register output. Please ensure you have appropriate permission to modify registry.Well, I have admin previlledge. And, my addin is running on outlook if I do not use the namespace and do not change CLR.
So, how can I set my cookies (Which is my main Goal)..
Thanx
Satish
Answers
-
HttpWebRequest is not ATL, it is CLR. If you want to use it, you must do what the error message says (C1190), and use a /clr option. Otherwise, investigate CInternetSession.
Форум программистов Vingrad
Модераторы: Partizan, gambit |
Поиск: |
|
Пространство имен System не существует! ошибка при обьявлении пространства имен |
Опции темы |
sanek1990 |
|
||
Новичок Профиль Репутация: нет
|
Здравствуйте! изучаю С++ по книжке, вбиваю код
Компилятор ругается Подскажите плиз что не так? Это сообщение отредактировал(а) sanek1990 — 3.11.2009, 11:49 |
||
|
|||
azesmcar |
|
||
uploading… Профиль
Репутация: 2
|
sanek1990 По какой это книжке ты так C++ изучаешь? Это не C++ а C++ .NET, проверь, правильно ли ты создал проект. |
||
|
|||
sanek1990 |
|
||
Новичок Профиль Репутация: нет
|
Книжка Б. Пахомов СС++ Visual C++ 2008 для начинающих. Это даже не С++ вроде а С, потому как глава называется «Ввод и вывод С».
Это сообщение отредактировал(а) sanek1990 — 3.11.2009, 12:10 |
||
|
|||
xvr |
|
||
Эксперт Профиль
Репутация: нет
|
Ни фига себе ‘для начинающих’ Может лучше с ‘Hello world’ начинать? |
||
|
|||
azesmcar |
|
||||
uploading… Профиль
Репутация: 2
|
Повторяюсь, это Microsoft Visual C++ .NET, не Си, не Си++. Наверняка ты создал обыкновенный проект, надо создавать вот так
точно сказано Это сообщение отредактировал(а) azesmcar — 3.11.2009, 12:18 |
||||
|
|||||
sanek1990 |
|
||||||||||||
Новичок Профиль Репутация: нет
|
Да действительно помогло, раньше в книге писали, что CLR — приложение именно надо создавать, а в этой главе перед данным листингом решили пропустить (на 200-ой странице книги — читатель профи уже )… Все проблемы с Sysytem и прочие сопутсвующие ушли.. (52 ошибки (( ). осталась одна всего такая, если return 0 в конце программы не писать (как в книжке)
если же напишу return 0 , то получаю следующее
Что опять не нравится?? Зы.
теперь понял, буду различать, спасибо!!
начиналось все с этого только вот чем дальше в лес тем больше дров))
Задумаюсь над этим))) Это сообщение отредактировал(а) sanek1990 — 3.11.2009, 12:46 |
||||||||||||
|
|||||||||||||
azesmcar |
|
||||
uploading… Профиль
Репутация: 2
|
ну, скорее всего ему не нравиться название функции main, попробуй так
и return 0 больше не нужен, точнее не обязателен. Это сообщение отредактировал(а) azesmcar — 3.11.2009, 12:49 |
||||
|
|||||
sanek1990 |
|
||||
Новичок Профиль Репутация: нет
|
пробовал, точнее так все и стоит, но почему то не помогает((
Это сообщение отредактировал(а) sanek1990 — 3.11.2009, 13:02 |
||||
|
|||||
azesmcar |
|
||||||
uploading… Профиль
Репутация: 2
|
сам найдешь отличия?
|
||||||
|
|||||||
sanek1990 |
|
||
Новичок Профиль Репутация: нет
|
Эээххххх))) проглядел(( Спасибо огромное, все заработало!! Тема помечается как решенная)) было б 100 постов поставил бы «+» к репутации Это сообщение отредактировал(а) sanek1990 — 3.11.2009, 13:07 |
||
|
|||
|
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс «транслит» если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
0 Пользователей: |
« Предыдущая тема | .NET для новичков | Следующая тема » |