Ошибка «16-битная подсистема ms-dos» - PullRequest
4 голосов
/ 05 августа 2011

Я компилирую этот код, в нем нет ошибок. Но при запуске EXE в командной строке появляется диалоговое окно с ошибкой "16-bit ms-dos subsystem". Я не знаю почему, потому что перед обновлением Windows XP все работает нормально.

Что-то не так с кодом?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var fromAddress = new MailAddress("aaa@gmail.com", "System");           
            var toAddress = new MailAddress("bbb@gmail.com", "Receiver");
            const string fromPassword = "xxx";

            const string subject = "Message";

            string body = args[0];


            var smtp = new SmtpClient
            {
                Host = "smtp.gmail.com",   
                Port = 587,                      
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
            };
            using (var message = new MailMessage(fromAddress, toAddress)
            {
                Subject = subject,
                Body = body
            })
            {
                smtp.Send(message);
            }

        }
    }
}

Ответы [ 2 ]

1 голос
/ 05 августа 2011

Что за кровавый?Похоже, вы сделали действительно плохое обновление или что-то в этом роде.Он не должен распознавать .NET exe как 16-битный.

1 голос
/ 05 августа 2011

Похоже, что ваше обновление XP не было завершено должным образом или возникла проблема.

В этой статье базы знаний Майкрософт описаны возможные исправления:

http://support.microsoft.com/kb/324767

...