COM->System.Windows.Forms
это не COM
.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
microsoft visual studio 2022
Проект Библиотека классов .NET 7
пкм по проекту (или зависимости) выбираем: Добавить => Ссылка на проект => Кликаем обзор =>
Отрывается окно => Переходим по структуре файлов вверх до папки «2022» =>
В поле поиска вставляем «System.Windows.Forms» => В результате ищем нужное (Примерно 3 снизу) =>
Выбираем => Тыкаем Добавить.
В свойствах проекта добавляем поддержку Windows Worms (если WPF).
Готово!
C:\Program Files\Microsoft Visual Studio\2022\Community\dotnet\runtime\shared\Microsoft.WindowsDesktop.App\6.0.14\System.Windows.Forms.dll
Вам нужно добавить ссылку на зависимость в свойствах проекта в обозревателе решений. Конечно, если проект не выполняется на .NET Core, в таком случае вам нужно подключить соответсвующее расширение с помощбю менеджера пакетов Nuget для проекта
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
Конвейеры ETL с Apache Airflow и Python
AI_Generated 13.05.2025
ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .
Выполнение асинхронных задач в Python с asyncio
py-thonny 12.05.2025
Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .
Работа с gRPC сервисами на C#
UnmanagedCoder 12.05.2025
gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .
When developing C# applications that involve GUI components, you may encounter the error message «System.Windows.Forms not found.» This issue usually occurs when the required assembly reference for Windows Forms is missing or improperly configured in your project. Here are some steps to troubleshoot and resolve this common problem:
1. Check Project References
Ensure that your C# project includes a reference to the ‘System.Windows.Forms’ assembly. To add the reference, right-click on the ‘References’ node in your project, select ‘Add Reference,’ and then search for ‘System.Windows.Forms’ in the list of available assemblies.
using System.Windows.Forms;
2. Verify Target Framework
Make sure that your project’s target framework supports Windows Forms. Check the project properties and ensure that the target framework is compatible with Windows Forms.
3. Reinstall .NET Framework
If the ‘System.Windows.Forms’ assembly is still not found, try reinstalling the .NET Framework on your system. This may help in resolving any underlying issues related to missing assemblies.
4. Clean and Rebuild
Sometimes, the error can be due to a build issue. Try cleaning your project and then rebuilding it to see if the problem persists.
5. Update Visual Studio
Ensure that you are using an up-to-date version of Visual Studio with all the necessary components installed. Updating Visual Studio may resolve compatibility issues causing the ‘System.Windows.Forms’ not found error.
By following these troubleshooting steps, you should be able to resolve the ‘System.Windows.Forms’ not found issue in your C# application and continue developing your Windows Forms-based projects seamlessly.
компилятор ругается на System.Windows.Forms;
От: | Аноним | ||
Дата: | 11.07.05 07:18 | ||
Оценка: |
Коллеги, подскажите, плиз!
Изучаю .NET. Попробовал в программке на С# выдать элементарный MessageBox.
Написал так:
using System.Windows.Forms;
......
......
MessageBox.Show("Привет!");
или вот так:
System.Windows.Forms.MessageBox.Show("Привет!");
При компиляции получаю сообщение:
The type or namespace name ‘Windows’ does not exist in the class or namespace ‘System’ (are you missing an assembly reference?)
Что за лажа?
Re: компилятор ругается на System.Windows.Forms;
От: |
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 подключил?
… << RSDN@Home 1.1.4 beta 7 rev. 0>>
Re[2]: компилятор ругается на System.Windows.Forms;
От: | Аноним | ||
Дата: | 11.07.05 07:28 | ||
Оценка: |
Здравствуйте, 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
Re[2]: компилятор ругается на System.Windows.Forms;
От: | Аноним | ||
Дата: | 11.07.05 07:31 | ||
Оценка: |
Здравствуйте, 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, если компилятору надо объяснять, где брать стандартные библиотеки?!
Re[2]: компилятор ругается на System.Windows.Forms;
От: | Аноним | ||
Дата: | 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)…
Re[3]: компилятор ругается на System.Windows.Forms;
От: |
_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).
<< RSDN@Home 1.1.4 beta 7 rev. 500 >> =11:43= [Windows XP — 5.1.2600.0]
under «*none*»
Help will always be given at Hogwarts to those who ask for it.
Re[3]: компилятор ругается на System.Windows.Forms;
От: |
Oyster |
https://github.com/devoyster | |
Дата: | 11.07.05 07:44 | ||
Оценка: |
Здравствуйте, <Аноним>, Вы писали:
А>Объясните дураку, когда компилятор хавает using без подключения dll, а когда нет?!
А>В java всегда достаточно написать #import (аналог С#-го usinga)…
В .NET всегда надо явно добавлять в references используемые сборки. Класс MessageBox находится в сборке System.Windows.Forms, поэтому эту сборку надо явно добавить в references.
Re: компилятор ругается на System.Windows.Forms;
От: |
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.
Re[4]: компилятор ругается на System.Windows.Forms;
От: | Аноним | ||
Дата: | 11.07.05 07:55 | ||
Оценка: |
Здравствуйте, Oyster, Вы писали:
O>Здравствуйте, <Аноним>, Вы писали:
А>>Объясните дураку, когда компилятор хавает using без подключения dll, а когда нет?!
А>>В java всегда достаточно написать #import (аналог С#-го usinga)…
O>В .NET всегда надо явно добавлять в references используемые сборки. Класс MessageBox находится в сборке System.Windows.Forms, поэтому эту сборку надо явно добавить в references.
ВСЕГДА???
Я уже не первый день пробую писать всякие тестовые приложеньица на С# (например, использовал System.Collections — и ничего, кроме using’а компилятору не «объяснял») — и только первый раз наткнулся на необходимость явно делать Reference…
Re[4]: компилятор ругается на System.Windows.Forms;
От: | Аноним | ||
Дата: | 11.07.05 08:03 | ||
Оценка: |
Здравствуйте, Oyster, Вы писали:
O>Здравствуйте, <Аноним>, Вы писали:
А>>Объясните дураку, когда компилятор хавает using без подключения dll, а когда нет?!
А>>В java всегда достаточно написать #import (аналог С#-го usinga)…
O>В .NET всегда надо явно добавлять в references используемые сборки. Класс MessageBox находится в сборке System.Windows.Forms, поэтому эту сборку надо явно добавить в references.
«Самые стандартные» классы компилятор хавает по умолчанию?
Re[5]: компилятор ругается на System.Windows.Forms;
От: |
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.
Re[4]: компилятор ругается на System.Windows.Forms;
От: | Аноним | ||
Дата: | 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).
СЕНК! Чисто конкретный ответ — по-програмерски!!! Ато начитают деепричастными оборотами сыпать…
Re[6]: компилятор ругается на System.Windows.Forms;
От: | Аноним | ||
Дата: | 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.
СЕНКАЮ! Въехал.
Re[3]: компилятор ругается на System.Windows.Forms;
От: |
SiAVoL |
||
Дата: | 11.07.05 08:36 | ||
Оценка: |
Здравствуйте, <Аноним>, Вы писали:
А>А на кой тогда ключевое слово using, если компилятору надо объяснять, где брать стандартные библиотеки?!
using System.Windows.Forms;
Так вот, этой строкой никаких дополнительных сборок не подключается. Вообще говоря, физически пространств имен в .NET не существует
Строка просто указывает в каких пространствах имен следует искать класс, который в коде указан коротким именем (System.Windows.Forms.MessageBox — полное имя класса, а MessageBox — короткое). Т.о. это избавляет нас от необходимости писать везде System.Windows.Forms.MessageBox.Show(«Привет!»)
, вместо короткого варианта MessageBox.Show(«Привет!»)
Т.е. using это просто синтаксический сахар, позволяющий меньше стучать по клавиатуре и получать более удобочитаемый код, не более того.
… << RSDN@Home 1.1.4 beta 7 rev. 501>>
Re[3]: компилятор ругается на System.Windows.Forms;
От: |
misha_sk |
||
Дата: | 11.07.05 09:13 | ||
Оценка: |
А>Объясните дураку, когда компилятор хавает using без подключения dll, а когда нет?!
А>В java всегда достаточно написать #import (аналог С#-го usinga)…
В Java для поиска физического размещения классов используется переменная окружения CLASSPATH. Правда там идет смешенивание физического размшения и логического, в виду необходимости структурирования пакетов по каталогам файловой системы.
- Переместить
- Удалить
- Выделить ветку
Пока на собственное сообщение не было ответов, его можно удалить.
Я попробовал создать (свою первую) программу на C#:
Код: Выделить всё
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello");
Console.ReadLine();
}
}
}
Это хорошо, но если я попробую использовать System.Windows.Forms:
Код: Выделить всё
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello");
System.MessageBox("hello");
Console.ReadLine();
}
}
}
Вот какая ошибка:
Код: Выделить всё
Error 1 The type or namespace name 'Windows' does not exist in the namespace 'System' (are you missing an assembly reference?) C:\Users\Ramy\Documents\Visual Studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs 5 14 ConsoleApplication1
Некоторые подробности:
— Я использую Visual Studio 2012;
— Я установил .NET Development Kit;
— Он это консольное приложение.
Может быть, это потому, что в консольном приложении нельзя использовать System.Windows.Forms?
Если да, то какая программа должна быть? Я также пробовал использовать форму, но у меня отображалось только окно, а не код.
Подробнее здесь: https://stackoverflow.com/questions/964 … dows-forms