Visual Studio написана в Winforms? - PullRequest
7 голосов
/ 29 октября 2008

Написана ли Visual Studio в .NET winforms? Или winforms слишком медленны для приложений типа редактора?

Ответы [ 8 ]

21 голосов
/ 29 октября 2008

Это не совсем честный вопрос. :)

Visual Studio .NET (devenv.exe) не записывается непосредственно в WinForms, так как он не является исполняемым файлом CLR. (Я догадываюсь, что он все еще производится с Visual C ++.) Я точно знаю, что ни 2005, ни 2008 версии devenv.exe не содержат заголовок CLR. (Я просто отбросил их обоих на ILDASM; они определенно не являются управляемым кодом.)

Тем не менее, тот факт, что devenv.exe не написан в WinForms, не означает, что WinForms слишком медленный для редактора. В большинстве систем WinForms вовсе не слишком медленный - код нашего приложения станет узким местом до того, как будет создан фреймворк.

Я догадываюсь, что devenv.exe написан на C / C ++, поскольку является обновлением давней среды; Стоимость переписывания Microsoft в .NET, несомненно, непомерно высока.

Опять же, что касается скорости WinForms - существует довольно много приложений WinForms, у которых нет проблем с производительностью, включая довольно надежную .NET IDE ( SharpDevelop ).

5 голосов
/ 29 октября 2008
3 голосов
/ 29 октября 2008

Это звучит немного похоже на вопрос " Вы все еще бьете свою жену? ", ответ без ответа звучит хорошо с точки зрения Visual Studio.

Нет, Visual Studio (по крайней мере, до 2008 года) не написан с использованием .NET. Однако SharpDevelop и другие редакторы обязательно испытывают проблемы со скоростью.

3 голосов
/ 29 октября 2008

SharpDevelop - это приложение .NET Windows Forms.

3 голосов
/ 29 октября 2008

По своей сути VS все еще неуправляемый исполняемый файл, поэтому он не использует winforms. В .NET могут быть написаны части, в частности, о некоторых новых функциях, но базовая модель расширяемости основана на COM (и очень сложна ...)

2 голосов
/ 29 октября 2008

Это два вопроса в одном. Как уже упоминалось, Visual Studio не использует WinForms. Ваш второй вопрос не имеет ничего общего с первым: а) Visual Studio не является «редактором», это среда IDE и б) он задает вопрос.

Тем не менее, WinForms является отличным выбором для любого приложения на базе Windows, включая IDE (например, вышеупомянутую SharpDevelop) и любой «редактор», который вы можете себе представить, вплоть до аудио и видео. Так что нет, это не «слишком медленно» для «приложения типа редактора».

Вы, конечно, можете писать медленный код, который запускается в приложении Windows Forms. :)

2 голосов
/ 29 октября 2008

Если команда VS не использовала WinForms, вы предполагаете, что единственной возможной причиной будет то, что WinForms слишком медленный. Это не верно. Тот факт, что IDE SharpDevelop написан на WinForms и работает хорошо, показывает, что он не «слишком медленный» независимо от того, что использует IDE Visual Studio.

1 голос
/ 29 октября 2008

Исходя из моего опыта работы с VS SDK, выглядит так, как будто он был построен с C ++ / COM, но я думаю, что это только потому, что команда Visual Studio решила пойти на это (И Windows Forms не существовало как выпускная версия когда они впервые разрабатывали IDE VS.NET).

Вы можете использовать Windows Forms для приложения типа редактора. Я думаю, что SharpDevelop - это приложение WinForms.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...