Using system windows forms не работает

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).

Читайте также:  Linux узнать установленное оборудование
От: 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

Читайте также:  Windows 10 mobile build 10581

но все равно подчеркивает 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

Оцените статью