Когда я пытаюсь запустить приложение .NET, предназначенное для платформы .NET 4.0, на компьютере с установленной только .NET 4.5.1. Приложение обычно работает примерно на 50 компьютерах в одном сетевом домене, а также на одном компьютере с VS 2012, на котором установлена .NET 4.5.1. Вылетает только на одной конкретной машине.
Я получаю сбой «Приложение не отвечает» в следующем коде:
//This line actually opens the connection to SQL Server
var q = (from vlu in data.QVyrobniLinkaUzivateles where (vlu.WinLogin == Program.UserName) orderby vlu.Cislo select vlu);
MessageBox.Show("A"); //A is displayed
try
{
MessageBox.Show(q.ToString()); //Here I get the exception
LoggedInUser = (q).ToArray();
}
catch (Exception ex)
{
//--------------------------------------------------------------
MessageBox.Show(ex.Message);
//Application hangs here sometimes displayng the entire exception text,
//sometimes displaying only part of it, sometimes displaying nothing
//When I do not catch this exception then there is sometimes just unhandled exception without any detail in the Event log
//--------------------------------------------------------------
MessageBox.Show(ex.StackTrace);
}
MessageBox.Show("B"); //B is never displayed
Затем приложение зависает на строке MessageBox.Show(ex.Message); Он показывает, что приложение перестало работать и т. Д.
MessageBox (серый и не отвечающий) иногда ничего не показывает, иногда следующий текст: A connection was successfully established with the server but an error occured during the login process (provider: SSL provider, error: 0 The message received was unexpected or badly formatted)
Может ли это быть связано с этим?
http://support.microsoft.com/kb/2915689
Что может быть причиной проблемы и какие шаги вы бы порекомендовали для решения этой проблемы?
try
/catch
действительно захватываетSqlException
. Гораздо более вероятно, что вы неправильно обрабатываете исключение, чем что существует фундаментальная проблема с обработкой исключений .NET. Код, который вы показали, не имеет обработки исключений, поэтому единственное разумное предположение, которое можно сделать до сих пор, состоит в том, что вы не обрабатываете исключение. Описанное вами поведение подтверждает это предположение. - person David   schedule 11.08.2014