Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в коде C#

Daniil Lipov Ученик (119), на голосовании 2 месяца назад
Прохожу обучение по книге "Язык программирование C# 7 и платформа .NET и .NET Core" и столкнулся с проблемой в задании.
Цитирую дословно:
"Добавьте следующую строку к директивам using в своем файле коде:
using System.Windows .Forms;
Затем поместите приведенную ниже строку кода сразу после вызова Console.
ReadLine () в методе Main ():
MessageBox.Show("All done!”);"
и сама проблема состоит в том,что при написании строчки mrssagebox мне компилятор выдает ошибку,а я вроде все сделал правильно

вот мой код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows .Forms;
namespace ConsoleApp2
{
internal class Program
{
static void Main(string[] args)
{
Console.ReadLine();
MessageBox.Show("All done!”);
}
}
}
подскажите пожалуйста,в чем ошибка?
Голосование за лучший ответ
Виталя Курылёв Мастер (1215) 3 месяца назад
Проблема, с которой вы столкнулись, связана с несколькими аспектами, и давайте их разберем.

Первый момент: Ваша строка с вызовом MessageBox.Show("All done!”); имеет ошибку в кавычках. У вас используется закрывающая кавычка, которая выглядит как ”, тогда как должна быть обычная двойная кавычка ". Попробуйте заменить:
csharp
MessageBox.Show("All done!”);
на

csharp
MessageBox.Show("All done!");
Второй момент: Использование MessageBox в консольном приложении может вызвать некоторые проблемы, так как MessageBox предназначен для графических приложений (Windows Forms), а не для консольных. Обычно, чтобы использовать Windows Forms в консольном приложении, необходимо убедиться, что у вас правильно настроен проект. Убедитесь, что тип вашего проекта позволяет использовать графические интерфейсы.
Чтобы убедиться, что проект настроен правильно, выполните следующие шаги:

Убедитесь, что ваше консольное приложение ссылается на библиотеку Windows Forms. Это можно сделать через NuGet, добавив пакет System.Windows .Forms.
Если это невозможно, вы можете создать Windows Forms приложение через Visual Studio, выбрав нужный шаблон, и поместить код туда.
Вот исправленный и полный код:

csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows .Forms;

namespace ConsoleApp2
{
internal class Program
{
[STAThread] // Добавьте это свойство
static void Main(string[] args)
{
Console.ReadLine();
MessageBox.Show("All done!");
}
}
}
Обратите внимание на атрибут [STAThread], который важен для запуска Windows Forms приложений.

Если вы выполните указанные изменения, код должен работать без ошибок. Если проблемы сохраняются, убедитесь, что у вас установлены все необходимые пакеты и библиотеки.
Романыч Знаток (296) 3 месяца назад
у chat gpt спроси
Daniil LipovУченик (119) 3 месяца назад
он рил помог,спасибо!
Редис Александрович Оракул (79329) 3 месяца назад
Ты используешь Visual Studio Code ?
Daniil LipovУченик (119) 3 месяца назад
да
Редис Александрович Оракул (79329) Daniil Lipov, тогда поставь visual studio там все будет
Jurijus Zaksas Искусственный Интеллект (445767) 3 месяца назад
  1. Visual Studio Code - продукт, написанный профессиональными прогрммистами для профессиональных программистов. Не используй его, пока не станешь профессиональным программистом.
  2. Поставь MS Visual Studio Community.
  3. Если ты используешь нечто вроде .net Core 8.0, надо бы еще включить поддержку Windows Forms в проекте.
Похожие вопросы