Using system windows forms не работает
Коллеги, подскажите, плиз!
Изучаю .NET. Попробовал в программке на С# выдать элементарный MessageBox.
Написал так:
При компиляции получаю сообщение:
The type or namespace name ‘Windows’ does not exist in the class or namespace ‘System’ (are you missing an assembly reference?)
| От: | Jenyay | http://jenyay.net |
Дата: | 11.07.05 07:23 | ||
Оценка: |
Здравствуйте, , Вы писали:
А>При компиляции получаю сообщение:
А>The type or namespace name ‘Windows’ does not exist in the class or namespace ‘System’ (are you missing an assembly reference?)
А System.Windows.Forms.dll подключил?
| От: | Аноним |
Дата: | 11.07.05 07:28 | |
Оценка: |
| От: | Аноним |
Дата: | 11.07.05 07:31 | |
Оценка: |
| От: | Аноним |
Дата: | 11.07.05 07:40 | |
Оценка: |
Здравствуйте, Jenyay, Вы писали:
J>Здравствуйте, , Вы писали:
А>>При компиляции получаю сообщение:
А>>The type or namespace name ‘Windows’ does not exist in the class or namespace ‘System’ (are you missing an assembly reference?)
J>А System.Windows.Forms.dll подключил?
Аууу!?
Объясните дураку, когда компилятор хавает using без подключения dll, а когда нет?!
В java всегда достаточно написать #import (аналог С#-го usinga).
| От: | _FRED_ | @ViIvanov |
Дата: | 11.07.05 07:43 | ||
Оценка: |
Здравствуйте, , Вы писали:
А>>>При компиляции получаю сообщение:
А>>>The type or namespace name ‘Windows’ does not exist in the class or namespace ‘System’ (are you missing an assembly reference?)
J>>А System.Windows.Forms.dll подключил?
А>Нет. А что — надо для каждого using’а явно подключать dll
Не для каждого «каждого using’а», а для каждого класса надо найти в МСДН (или другой документации) его описание и посмотреть секцию «Requirements» (в самом низу страницы, например здесь) — из неё можно узнать пространство имён, которое надо указать перед использованием класса («Namespace») и сборку, которую надо подключить к проекту («Assembly») если она ещё не подключена.
В одной сборке могут быть классы из нескольких пространств имён (System.Uri и System.Net.Sockets.TcpClient в System.dll), так же как и классы из разных сборок могут быть в одном пространстве имён (System.Uri в System.dll и System.Int32 в mscorlib.dll).
| От: | Oyster | https://github.com/devoyster |
Дата: | 11.07.05 07:44 | ||
Оценка: |
Здравствуйте, , Вы писали:
А>Объясните дураку, когда компилятор хавает using без подключения dll, а когда нет?!
А>В java всегда достаточно написать #import (аналог С#-го usinga).
В .NET всегда надо явно добавлять в references используемые сборки. Класс MessageBox находится в сборке System.Windows.Forms, поэтому эту сборку надо явно добавить в references.
| От: | nzeemin | http://nzeemin.livejournal.com/ |
Дата: | 11.07.05 07:45 | ||
Оценка: |
Здравствуйте, , Вы писали:
А>При компиляции получаю сообщение:
А>The type or namespace name ‘Windows’ does not exist in the class or namespace ‘System’ (are you missing an assembly reference?)
Вероятно, вы не добавили эту библиотеку в References проекта. using лишь указывает, что в данном файле используются объявления из этой библиотеки.
Создавайте проект через File|New|Project, Windows Application — все необходимые библиотеки будут сразу подключены в References.
| От: | Аноним |
Дата: | 11.07.05 07:55 | |
Оценка: |
| От: | Аноним |
Дата: | 11.07.05 08:03 | |
Оценка: |
| От: | Oyster | https://github.com/devoyster |
Дата: | 11.07.05 08:09 | ||
Оценка: |
Здравствуйте, , Вы писали:
O>>В .NET всегда надо явно добавлять в references используемые сборки. Класс MessageBox находится в сборке System.Windows.Forms, поэтому эту сборку надо явно добавить в references.
А>»Самые стандартные» классы компилятор хавает по умолчанию?
Нет, просто некоторые сборки включаются в проект по умолчанию. Например, всегда подключается сборка mscorlib (даже если её нет в references), по умолчанию в VS.NET 2003 в references добавляются System, System.Data, System.Xml.
| От: | Аноним |
Дата: | 11.07.05 08:10 | |
Оценка: |
_FR>Не для каждого «каждого using’а», а для каждого класса надо найти в МСДН (или другой документации) его описание и посмотреть секцию «Requirements» (в самом низу страницы, например здесь) — из неё можно узнать пространство имён, которое надо указать перед использованием класса («Namespace») и сборку, которую надо подключить к проекту («Assembly») если она ещё не подключена.
_FR>В одной сборке могут быть классы из нескольких пространств имён (System.Uri и System.Net.Sockets.TcpClient в System.dll), так же как и классы из разных сборок могут быть в одном пространстве имён (System.Uri в System.dll и System.Int32 в mscorlib.dll).
СЕНК! Чисто конкретный ответ — по-програмерски. Ато начитают деепричастными оборотами сыпать.
| От: | Аноним |
Дата: | 11.07.05 08:12 | |
Оценка: |
Здравствуйте, Oyster, Вы писали:
O>Здравствуйте, , Вы писали:
O>>>В .NET всегда надо явно добавлять в references используемые сборки. Класс MessageBox находится в сборке System.Windows.Forms, поэтому эту сборку надо явно добавить в references.
А>>»Самые стандартные» классы компилятор хавает по умолчанию?
O>Нет, просто некоторые сборки включаются в проект по умолчанию. Например, всегда подключается сборка mscorlib (даже если её нет в references), по умолчанию в VS.NET 2003 в references добавляются System, System.Data, System.Xml.
| От: | SiAVoL |
Дата: | 11.07.05 08:36 | |
Оценка: |
Здравствуйте, , Вы писали:
А>А на кой тогда ключевое слово using, если компилятору надо объяснять, где брать стандартные библиотеки?!
Так вот, этой строкой никаких дополнительных сборок не подключается. Вообще говоря, физически пространств имен в .NET не существует
Строка просто указывает в каких пространствах имен следует искать класс, который в коде указан коротким именем (System.Windows.Forms.MessageBox — полное имя класса, а MessageBox — короткое). Т.о. это избавляет нас от необходимости писать везде System.Windows.Forms.MessageBox.Show(«Привет!»)
, вместо короткого варианта MessageBox.Show(«Привет!»)
Т.е. using это просто синтаксический сахар, позволяющий меньше стучать по клавиатуре и получать более удобочитаемый код, не более того.
| От: | misha_sk |
Дата: | 11.07.05 09:13 | |
Оценка: |
А>Объясните дураку, когда компилятор хавает using без подключения dll, а когда нет?!
А>В java всегда достаточно написать #import (аналог С#-го usinga).
В Java для поиска физического размещения классов используется переменная окружения CLASSPATH. Правда там идет смешенивание физического размшения и логического, в виду необходимости структурирования пакетов по каталогам файловой системы.
В С# не работает using System.Windows.Forms; как его подключить?
делают тк там добавить -> Cсылка->COM->System.Windows.Forms
но все равно подчеркивает Forms в using System.Windows.Forms
- Вопрос задан более года назад
- 4099 просмотров
Какую IDE используете?
Как создаете проект?
.net Core или .net framework?
class Program <
static void Main()
<
MessageBox.Show(«Message»);
>
>
Программирование на C# для начинающих. Основные сведения. Алексей Васильев
.net Core, Visual Studio 2019, создаю проект в консоли(так ведь можно)
можно, но только когда вы знаете что делать дальше. а сейчас очевидно что не знаете:
— в .net Core формы поддерживатся с версии самой корки 3.*
— .net Core 3.* поддерживается начиная с Visual Studio 2019 (и то начиная со свежих билдов, осенних)
— визуального редактора форм на данный момент не существует
— есть руководство https://docs.microsoft.com/ru-ru/dotnet/core/porti. (что подключать там тоже написано)
совет — если вы только начинаете изучать программирование, не готовы осваивать XAML и нуждаете в визуальном редакторе форм, практикуйтесь сначала в .Net Framework, и используйте шаблон проекта WinForms
В С# не работает using System.Windows.Forms; как его подключить?
делают тк там добавить -> Cсылка->COM->System.Windows.Forms
но все равно подчеркивает Forms в using System.Windows.Forms
- Вопрос задан более года назад
- 4099 просмотров
Какую IDE используете?
Как создаете проект?
.net Core или .net framework?
class Program <
static void Main()
<
MessageBox.Show(«Message»);
>
>
Программирование на C# для начинающих. Основные сведения. Алексей Васильев
.net Core, Visual Studio 2019, создаю проект в консоли(так ведь можно)
можно, но только когда вы знаете что делать дальше. а сейчас очевидно что не знаете:
— в .net Core формы поддерживатся с версии самой корки 3.*
— .net Core 3.* поддерживается начиная с Visual Studio 2019 (и то начиная со свежих билдов, осенних)
— визуального редактора форм на данный момент не существует
— есть руководство https://docs.microsoft.com/ru-ru/dotnet/core/porti. (что подключать там тоже написано)
совет — если вы только начинаете изучать программирование, не готовы осваивать XAML и нуждаете в визуальном редакторе форм, практикуйтесь сначала в .Net Framework, и используйте шаблон проекта WinForms