For Those using Visual Studio 2022 with .Net Core 6.0
Sorry to revive this thread, but I created an account just to do so, as none of the solutions I found searching google for days worked for me alone, and seemed to only bring up only outdated tutorials.
Not Working =(
What DID work for me
- Double click your project (opening the csproj editor window)
Add the following lines (replacing the existing TargetFramework line):
<TargetFramework>net6.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
My window, for referrence, looks like:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
- Note Both lines! I read several solutions / videos that stopped simply after adding the «UseWindowsForms» tag, which did not solve the problem for me, even after unloading and reloading/closing and opening etc.
I stumbled on this solution after applying the «UseWindowsForms» tag, and then in desperation changing my NET framework in properties to 5.0, which caused it to work, and then noted when changing back to 6.0 it still worked.
If you forget the Framework tag in the future, you can reproduce the effect just by flipping your properties back and forth…
-
Right click the project, and go to properties.
-
Change the Target framework from .NET 6.0…to….NET 5.0
-
Exit back to your code. Which after a few moments will show the System.Windows.Forms connecting properly.
-
Open back up properties.
-
Change the Target framework from .Net 5.0, back to .Net 6.0
Congratulations
You have (or at least I have) a .Net 6.0 project that is properly allowing me to use System.Windows.Forms (Including the Clipboard, which I suspect many here are looking for…).
I did due diligence on this, testing it multiple times across multiple projects, and it (at least for my setup) consistently works!
BTW. For those wondering. the [STAThread] Attribute tag seen in the pictures is needed to allow the Clipboard class to function. (this is also why I am not using top level statements in the example, but if you don’t need that Class, the example works with top level statements (I needed it to show my Clipboard test….)
I’ve been using Powershell and want to start using C#. My plan is to start by converting some powershell code to C#. The first thing I am trying is a file dialog box. Simple I thought.
Powershell(which works):
$fd = New-Object system.windows.forms.openfiledialog
I tried various things in C# but it seems to come down to :
using System.Windows.Forms; //»Forms» underlines red in Visual Studio 2017
Compiler message :
The type or namespace name ‘Forms’ does not exist in the namespace ‘System.Windows’ (are you missing an assembly reference?)
Do I have version issues and how might I fix?
Here is «About» for Visual Studio
Microsoft Visual Studio Community 2017
Version 15.9.4
VisualStudio.15.Release/15.9.4+28307.222
Microsoft .NET Framework
Version 4.8.03752
Installed Version: Community
Application Insights Tools for Visual Studio Package 8.14.11009.1
Application Insights Tools for Visual Studio
ASP.NET and Web Tools 2017 15.9.04012.0
ASP.NET and Web Tools 2017
ASP.NET Core Razor Language Services 15.8.31590
Provides languages services for ASP.NET Core Razor.
ASP.NET Web Frameworks and Tools 2017 5.2.60913.0
For additional information, visit https://www.asp.net/
Azure App Service Tools v3.0.0 15.9.03024.0
Azure App Service Tools v3.0.0
Azure Functions and Web Jobs Tools 15.9.02046.0
Azure Functions and Web Jobs Tools
C# Tools 2.10.0-beta2-63501-03+b9fb1610c87cccc8ceb74a770dba261a58e39c4a
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Common Azure Tools 1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
JavaScript Language Service 2.0
JavaScript Language Service
Microsoft Azure Tools 2.9
Microsoft Azure Tools for Microsoft Visual Studio 2017 — v2.9.10730.2
Microsoft Continuous Delivery Tools for Visual Studio 0.4
Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.
Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft Library Manager 1.0
Install client-side libraries easily to any web project
Microsoft MI-Based Debugger 1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Microsoft Visual Studio Tools for Containers 1.1
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.
NuGet Package Manager 4.6.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.
ProjectServicesPackage Extension 1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
ResourcePackage Extension 1.0
ResourcePackage Visual Studio Extension Detailed Info
ResourcePackage Extension 1.0
ResourcePackage Visual Studio Extension Detailed Info
SQL Server Data Tools 15.1.61810.11040
Microsoft SQL Server Data Tools
TypeScript Tools 15.9.20918.2001
TypeScript Tools for Microsoft Visual Studio
Visual Basic Tools 2.10.0-beta2-63501-03+b9fb1610c87cccc8ceb74a770dba261a58e39c4a
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual F# Tools 10.2 for F# 4.5 15.8.0.0. Commit Hash: 6e26c5bacc8c4201e962f5bdde0a177f82f88691.
Microsoft Visual F# Tools 10.2 for F# 4.5
Visual Studio Code Debug Adapter Host Package 1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio
Visual Studio Tools for Containers 1.0
Visual Studio Tools for Containers
Thanks
2 / 1 / 1 Регистрация: 02.07.2018 Сообщений: 49 |
|
1 |
|
11.08.2019, 20:33. Показов 6911. Ответов 4
Я обнаружил что у меня отсутствует пространство имен System.Windows.Forms. Просьба подсказать, что делать.
__________________
0 |
Заблокирован |
||||
11.08.2019, 20:49 |
2 |
|||
не помогает? в обозревателе решений ссылки проверить
0 |
2 / 1 / 1 Регистрация: 02.07.2018 Сообщений: 49 |
|
11.08.2019, 21:06 [ТС] |
3 |
Проверил, там такой ссылки действительно нет. Добавлено через 12 минут
0 |
Заблокирован |
|
11.08.2019, 22:07 |
4 |
Сообщение было отмечено Alexberkut98 как решение РешениеПКМ Ссылки/Добавить ссылку/.NET/System.Windows.Forms
1 |
Happyness 0 / 0 / 0 Регистрация: 25.10.2018 Сообщений: 2 |
||||
19.07.2021, 15:45 |
5 |
|||
Проблема бывает, когда пишем свою dll.
0 |
Я пробовал создать (свою первую) программу на 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:UsersRamyDocumentsVisual Studio 2010ProjectsConsoleApplication1ConsoleApplication1Program.cs 5 14 ConsoleApplication1
Некоторые подробности: — Я использую Visual Studio 2012; — Я установил .NET Development Kit; — Это консольное приложение.
Может быть, это потому, что в консольном приложении нельзя использовать System.Windows.Forms? Если да, то какой должна быть программа? Я также пробовал с формой, но я отображал только окно, а не код.
Содержание
- Отсутствует System.Windows.Forms;
- Решение
- Visual Studio 14 не видит System.Windows.Forms
- Решение
- Как в консольный проект подключить System.Windiws.Forms
- Невозможно использовать System.Windows.Forms
- Using system windows forms не работает
Отсутствует System.Windows.Forms;
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Присвоить к System.Windows.Forms.ListBox из System.Collection.Generic.List значения
Подскажите пожалуйста, можно ли к System.Windows.Forms.ListBox присвоить значения из.
Необработанное исключение типа «System.StackOverflowException» в System.Windows.Forms.dll
Есть класс Controls и класс формы. При нажатии на кнопку, создается другая кнопка. В классе.
Необработанное исключение типа «System.ArgumentException» в System.Windows.Forms.dll
Всем привет, пытаюсь сделать переход на форму по кнопке но вылазит следующее: С другими кнопками.
Необработанное исключение типа «System.StackOverflowException» в System.Windows.Forms.dll
Доброго времени суток. Столкнулся со следующей проблемой: При запуске вылезает «Необработанное.
Проверил, там такой ссылки действительно нет.
Добавлено через 12 минут
Что делать?
Решение
Для нестатического поля, метода или свойства «System.Windows.Forms.Control.Invoke(System.Delegate)» требуется ссылка
Подскажите мне пожалуйста, где я накосячил/что я делаю не так using System; using.
Конверт Virtual-Key Codes в System.Windows.Forms.Keys и System.Windows.Forms.Keys в Virtual-Key Codes
Есть Virtual-Key Codes https://docs.microsoft.com/ru-ru/windows/desktop/inputdev/virtual-key-codes.
System.Windows.Forms не содержит TreeView
Доброй ночи! Господа, мучает ошибка. НЕпонятно чего не так. Создал три_вью Дёрнул с форума код.
Visual Studio 14 не видит System.Windows.Forms
Народ помогите разобраться. Понадобился мне в программе FolderBrowserDialog для выбора папки Так.
Источник
Visual Studio 14 не видит System.Windows.Forms
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Подключить DirectShow в Windows Forms Application (Visual Studio 2008)
Доброго время суток. Помогите подключить DirectShow в Windows Forms Application (Visual Studio.
Как в Visual Studio 2010 в Windows Forms Application (WFA) изменить кодировку?
Надоело это лицезреть.
Присвоить к System.Windows.Forms.ListBox из System.Collection.Generic.List значения
Подскажите пожалуйста, можно ли к System.Windows.Forms.ListBox присвоить значения из.
Да, нет.Я создавал WPF проект
Добавлено через 1 минуту
Кстати я создавал другой проект в этой же студии и там у меня каким то образом System.Windows.Forms видет нормально.
Решение
Необработанное исключение типа «System.ArgumentException» в System.Windows.Forms.dll
Всем привет, пытаюсь сделать переход на форму по кнопке но вылазит следующее: С другими кнопками.
Необработанное исключение типа «System.StackOverflowException» в System.Windows.Forms.dll
Есть класс Controls и класс формы. При нажатии на кнопку, создается другая кнопка. В классе.
Необработанное исключение типа «System.StackOverflowException» в System.Windows.Forms.dll
Доброго времени суток. Столкнулся со следующей проблемой: При запуске вылезает «Необработанное.
В моей версии Visual Studio нет расширения System.Windows.Forms, хотя я поставил настройку C++CLI.
В попытках изучить C# наткнулся на проблему что в моей версии Visual Studio нет расширения.
Источник
Как в консольный проект подключить System.Windiws.Forms
Как подключить справку в формате pdf в проект
Нужно, чтобы по нажатии на кнопку вызывалась справка, а она в формате pdf Как это организовать?
Подключить DirectShow в Windows Forms Application (Visual Studio 2008)
Доброго время суток. Помогите подключить DirectShow в Windows Forms Application (Visual Studio.
Спасибо всем. А не подскажите как убрать «черный екран смерти» что-бы видно было только формы при запуске, а то я по книге не совсем догнал..
Добавлено через 2 минуты
kirill29, а как сделать следующе на си шарп:
Спасибо всем. А не подскажите как убрать «черный екран смерти» что-бы видно было только формы при запуске, а то я по книге не совсем догнал..
Добавлено через 2 минуты
kirill29, а как сделать следующе на си шарп:
1);
System.Windows.Forms.Application.Run(new Form1());
2)
System.Collections.Stack stack;
stack=new System.Collections.Stack()
//stack.Peek
//stack.Push
//stack.Pop
System.Console.Write(«10 konstruktorov»);
Спасибо, с этим разобрался. Но у меня есть еще вопросы:
есть ли в си шарпе вектора как в си++, или хотябы заменители..
Добавлено через 5 минут
как узнать длину строки? Допустим есть строка String s = «dfsdfsdf»; как узнать ее длину? и как обратиться к и-ому символу этой строки?
Добавлено через 1 минуту
мне больше понравился стек произвольных пипов))
Добавлено через 6 минут
как переписать этот клас, что-бы он работал?
Создай тот и другой на 1000000 элементов и сравни производительность.
Добавлено через 39 секунд
Error 1 The type or namespace name ‘List’ could not be found (are you missing a using directive or an assembly reference?) C:Documents and SettingsАдминистраторМои документыVisual Studio 2008ProjectsProject1Project1CodeFile1.cs 14 13 Project1
Добавлено через 21 секунду
HIMen, где он должен быть? я его у себя не нашел..
Добавлено через 18 минут
Не удается подключить System.Threading.Tasks
Здравствуйте! Подскажите как подключить System.Threading.Tasks. Не удается объявить.
подключить Java class в проект C#
Доброго дня всем! Подскажите пожалуйста, каким образом подключить несколько классов Java (есть и.
Источник
Невозможно использовать System.Windows.Forms
Я пробовал сделать (мою первую) программу на С#:
Это хорошо, но если я попытаюсь использовать System.Windows.Forms:
Это ошибка, которую я получаю:
Может быть, потому что на консольном приложении нельзя использовать System.Windows.Forms?
Если да, то какая программа должна быть? Я также пробовал с формой, но я только показывал окно и никакого кода.
Консольное приложение автоматически не добавляет ссылку на System.Windows.Forms.dll.
Щелкните правой кнопкой мыши свой проект в обозревателе решений и выберите Добавить ссылку. а затем найдите System.Windows.Forms и добавьте его.
Вы должны добавить ссылку на пространство имен: System.Windows.Forms в свой проект, потому что по какой-то причине он еще не добавлен, поэтому вы можете добавить новый Reference из меню Visual Studio.
Щелкните правой кнопкой мыши ссылку «Справка» ▶ «Добавить новую ссылку» ▶ «System.Windows.Forms»
просто добавьте ссылку на System.Windows.Forms.dll
может потребоваться,
unreference system.windows.forms
и ссылку снова.
перейти к боковой панели проекта, щелкнуть правой кнопкой мыши по ссылкам → добавить ссылку и найти System.Windows.Forms
Это необходимо, потому что ваш проект по умолчанию не включает все, потому что вам, вероятно, не понадобится его, чтобы он экономил место. Хорошая практика заключается в том, чтобы исключить вещи, которые вы не используете.
Источник
Using system windows forms не работает
«Hakuna Matata»
Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi
Репутация: нет
Всего: 87
Начал будквально сейчас заниматься шарпом. Создал пустой проект шарпа, присобачил исходник и написал:
Код |
using System.Windows.Forms;
class MainApp |
А оно мне и говорит: «The type or namespace name ‘Windows’ does not exist»
Что ему не нравится-то?
Тестер ПО, VB.NET Developer
Профиль
Группа: Участник
Сообщений: 398
Регистрация: 12.4.2005
Где: Зеленоград
Репутация: 1
Всего: 12
Опытный
Профиль
Группа: Участник
Сообщений: 771
Регистрация: 28.7.2003
Где: Ставрополь
Репутация: нет
Всего: 1
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
0 Пользователей: |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
[ Время генерации скрипта: 0.0878 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Источник
windows операционные системы ос программы
Adblock
detector
Я пробовал сделать (мою первую) программу на С#:
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:UsersRamyDocumentsVisual Studio 2010ProjectsConsoleApplication1ConsoleApplication1Program.cs 5 14 ConsoleApplication1
Некоторые детали:
— Я использую Visual Studio 2012;
— Я установил .NET Development Kit;
— Это консольное приложение.
Может быть, потому что на консольном приложении нельзя использовать System.Windows.Forms?
Если да, то какая программа должна быть? Я также пробовал с формой, но я только показывал окно и никакого кода.
This is because you don’t have a clue what «using» does, just not yet. You cannot do any development at all without understanding assemblies and their reference. You develop one or more assemblies, and one can be used by another one. You can do it be referencing one assembly by another one, or by dynamically loading another assembly and using reflection to access its types and their members. Dynamic loading is related to advanced techniques, but referencing is the basis of all technology, making it impossible to do anything at all without referencing.
Referencing in Visual Studio is done by «Add Reference» in Solution Explorer. For understanding of referencing, you can start here: https://msdn.microsoft.com/en-us/library/8wxf689z%28v=vs.110%29.aspx[^].
You also need to understand what a modules, and different kinds of reference, importantly, GAC and signing, and, hence, the idea open-key cryptography. Please, find it all by yourself before asking further question.
As the «using» directive (not to be mixed up with «using» statement), they merely help to shorten the names of the assembly-level type names. You are not obliged to use «using» at all, can just use full type names in all cases. This is nothing but syntactic sugar. You just need to understand namespaces: https://msdn.microsoft.com/en-us/library/0d941h9d.aspx[^].
Я только начал работать над C # и возился с некоторым образцом кода, который я получил с какого-то форума.
Этот код использует пространство имен using system.windows.forms
, для которого я получаю сообщение об ошибке:
Forms не существует в пространстве имен system.windows.
Также я получаю некоторую ошибку, связанную с неопределенными функциями для senddown
и sendup
, которые, как мне кажется, находятся в пространстве имен Forms
.
Я использую Visual Studio 10 (с .net frame work 4.0). Есть идеи, как исправить эту ошибку?
6 ответов
Лучший ответ
Разверните проект в дереве решений, щелкните правой кнопкой мыши на References
, Add Reference
, выберите System.Windows.Forms
на вкладке Framework
.
Иногда вам нужно добавить ссылку на некоторые нестандартные сборки.
Из комментариев : для людей, которые ищут VS 2019+: теперь ссылки на проекты добавляются с помощью щелчка правой кнопкой мыши по Dependencies
в Solution Explorer
.
Для людей, которые ищут VS Code: Как добавить ссылки на сборки в Visual Studio Code
144
VMAtm
18 Сен 2021 в 13:20
Если вы пишете код Windows Forms в приложении .Net Core , весьма вероятно, что вы столкнулись с такой ошибкой:
Ошибка CS0234 Тип или имя пространства имен Forms не существует в пространстве имен System.Windows (отсутствует ссылка на сборку?)
Если вы используете файл проекта в стиле Sdk (что рекомендуется), ваш файл * .csproj должен быть похож на этот:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<OutputType>WinExe</OutputType>
<UseWindowsForms>true</UseWindowsForms>
<RootNamespace>MyAppNamespace</RootNamespace>
<AssemblyName>MyAppName</AssemblyName>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Windows.Compatibility" Version="3.0.0" />
</ItemGroup>
</Project>
Обратите особое внимание на эти строки:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<OutputType>WinExe</OutputType>
<UseWindowsForms>true</UseWindowsForms>
<PackageReference Include="Microsoft.Windows.Compatibility" Version="3.0.0" />
Обратите внимание, что если вы используете WPF при обращении к некоторым библиотекам WinForms, вам также следует добавить <UseWPF>true</UseWPF>
.
Подсказка: начиная с .NET 5.0 , Microsoft рекомендует использовать SDK Microsoft.Net.Sdk
вместо Microsoft.Net.Sdk.WindowsDesktop
.
17
Owlbuster
24 Янв 2021 в 16:25
Нетто >= 5
<TargetFramework>
net5.0-windows
</TargetFramework>
Цитата Объявление о выпуске .NET 5.0:
API рабочего стола Windows (включая Windows Forms, WPF и WinRT) будут доступны только при ориентации на net5.0-windows . Вы можете указать версию операционной системы, например net5.0-windows7 или net5.0-windows10.0.17763.0 (для Windows October 2018 Update). Вам необходимо настроить таргетинг на версию Windows 10, если вы хотите использовать API WinRT.
В вашем проекте:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
</Project>
Также интересно:
- net5.0 — это новый моникер целевой платформы (TFM) для .NET 5.0.
- net5.0 объединяет и заменяет netcoreapp и netstandard TFM.
- net5.0 поддерживает режим совместимости с .NET Framework
- net5.0-windows будет использоваться для предоставления специфических для Windows функций, включая Windows Forms, WPF и WinRT API.
- .NET 6.0 будет использовать тот же подход с net6.0 и добавит net6.0-ios и net6.0-android.
- TFM для конкретных ОС могут включать номера версий ОС, например net6.0-ios14.
- Переносимые API, такие как ASP.NET Core, можно будет использовать с net5.0. То же самое будет верно для форм Xamarin с net6.0.
11
dani herrera
20 Янв 2022 в 17:34
Вы можете столкнуться с этой проблемой, если у вас есть несколько проектов внутри решения, и один из них физически находится внутри папки решения. Я решил это, щелкнув правой кнопкой мыши по этой папке в дереве решений -> затем нажав «исключить из проекта».
2
Skeptik
6 Окт 2020 в 14:26
browxy.com
Compilation failed: 1 error(s), 0 warnings
main.cs(7,24): error CS0234: The type or namespace name `Forms' does not exist in the namespace `System.Windows'. Are you missing `System.Windows.Forms' assembly reference?
-1
CS QGB
25 Мар 2021 в 20:03
Если кто-то столкнется с этой ошибкой при попытке сослаться на компоненты Windows Forms в приложении .NET Core 3+ WPF (что на самом деле не редкость), решение состоит в том, чтобы перейти к .csproj
файл (дважды щелкните его в VS2019) и добавьте его в узел группы свойств, содержащий целевые платформы. Нравится:
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
63
Fudge
28 Сен 2021 в 22:01
компилятор ругается на 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. Правда там идет смешенивание физического размшения и логического, в виду необходимости структурирования пакетов по каталогам файловой системы.
- Переместить
- Удалить
- Выделить ветку
Пока на собственное сообщение не было ответов, его можно удалить.