2008-10-29 12 views
7

Czy program Visual Studio został napisany w WinForm .NET? Czy też formularze win są zbyt wolne dla aplikacji typu redaktor?Czy Visual Studio jest napisane w WinForm?

+0

Nie powolne dla mnie. –

+0

Daok, co masz na myśli? Więc vs.net jest napisany w WinFormie .net? –

+9

To pytanie przypomina trochę pytanie: "Kiedy przestałeś bić swoją żonę?" –

Odpowiedz

1

Na podstawie mojego doświadczenia z VS SDK wygląda na to, że został zbudowany przy użyciu C++/COM, ale myślę, że to dlatego, że zespół Visual Studio zdecydował się na to (AND Windows Forms nie istniało jako wydanie w wersji, w której po raz pierwszy opracowywali IDE VS.NET).

Możesz użyć Windows Forms dla aplikacji typu redaktor. Myślę, że SharpDevelop to aplikacja WinForm.

3

W swoim rdzeniu VS jest nadal niezarządzanym plikiem wykonywalnym, więc nie używa on form winylowych. Niektóre z nowszych funkcji mogą zawierać fragmenty napisane w środowisku .NET, ale podstawowy model rozszerzalności jest oparty na modelu COM (i bardzo złożonym ...)

21

To nie jest sprawiedliwe pytanie. :)

Visual Studio .NET (devenv.exe) nie jest napisany bezpośrednio w WinForm, ponieważ nie jest plikiem wykonywalnym CLR. (Moje przypuszczenie jest takie, że wciąż jest produkowane w Visual C++.) Wiem, że ani wersja devenv.exe z 2005, ani 2008 nie ma nagłówka CLR. (Po prostu upuściłem oba na ILDASM, zdecydowanie nie są to zarządzane kod.)

To powiedziawszy, tylko dlatego, że devenv.exe nie jest napisane w WinForm nie oznacza, że ​​WinForm jest zbyt wolny dla edytora. WinForm nie jest w większości systemów zbyt wolny - nasz kod aplikacji będzie wąskim gardłem przed rozpoczęciem pracy nad strukturą.

Moje przeczucie polega na tym, że devenv.exe jest napisany w C/C++, ponieważ jest ulepszeniem długotrwałego środowiska; koszt dla Microsoftu, aby przepisać go w .NET jest niewątpliwie wygórowany.

Co więcej, jeśli chodzi o prędkość WinForms - jest sporo aplikacji WinForm, które nie mają żadnych problemów z wydajnością, w tym dość solidne .NET IDE (SharpDevelop).

+0

Oprócz monodevelop (mono portu SharpDevelop) jest zarządzana aplikacja i działa bez żadnych problemów. (http://monodevelop.com/) –

+1

Ostatnim razem, gdy sprawdzałem, devenv.env wykazywał oznaki pisania w C++ i MFC: jeśli używasz WinSpy do przeglądania nazw klas okna, wiele z nich ma klasyczny "Afx. .. "wzór MFC. – DavidK

+0

DavidK: To ma absolutny sens, jeśli weźmie się pod uwagę, że devenv.exe działa już od wczesnych lat Visual Studio i został uaktualniony/zmodyfikowany na przestrzeni lat, a nie zmiksowany na nowo. Dobra decyzja! (Nie myślałem o WinSpy.) –

2

Jeśli zespół VS nie używał WinForm, sugerujesz, że jedynym możliwym powodem jest zbyt wolne działanie WinForm. To nie jest poprawne. Fakt, że IDE SharpDevelop jest napisany w WinForm i wykonuje dobre pokazy, że nie jest "zbyt wolny", niezależnie od tego, jakie IDE używa Visual Studio.

3

To brzmi trochę jak pytanie "Are you still beating your wife?" bez odpowiedzi, która brzmi dobrze z punktu widzenia Visual Studio.

Nie, Visual Studio (przynajmniej do 2008 r.) Nie jest napisane przy użyciu .NET. Jednak SharpDevelop i inni redaktorzy są i nie muszą mieć problemów z szybkością koniecznie.

+1

Naprawdę mógłbyś wybrać lepszą metaforę ... – RCIX

2

Jest to rodzaj dwa pytania w jednym. Jak wspomnieli inni, Visual Studio nie używa WinForms. Twoje drugie pytanie nie ma nic wspólnego z pierwszym, ponieważ a) Visual Studio nie jest "edytorem", jest to IDE i b) to jest pytanie.

To powiedziawszy, WinForms jest doskonałym wyborem dla każdej aplikacji opartej na systemie Windows, w tym IDE (jak wyżej wspomniany SharpDevelop) i dowolnego "edytora", który można sobie wyobrazić, włącznie z audio i wideo. Więc nie, to nie jest "zbyt wolne" dla "aplikacji typu redaktora".

Oczywiście możesz napisać wolny kod, który działa w aplikacji Windows Forms.:)

Powiązane problemy