Visual Studio是用winforms编写的吗?

8 visual-studio winforms

用.NET编写的Visual Studio是winforms吗?或者winforms对于编辑器类型的应用程序来说太慢了?

Joh*_*udy 22

这不是一个公平的问题.:)

Visual Studio .NET(devenv.exe)不是直接在WinForms中编写的,因为它不是CLR可执行文件.(我的预感是它仍然使用Visual C++生成.)我知道事实上,2005和2008版本的devenv.exe都没有带有CLR头.(我只是将它们都丢弃在ILDASM上;它们绝对不是托管代码.)

也就是说,仅仅因为devenv.exe不是用WinForms编写的,并不意味着WinForms对于编辑来说太慢了.在大多数系统上,WinForms根本不会太慢 - 我们的应用程序代码将成为框架之前的瓶颈.

我的预感是devenv.exe是用C/C++编写的,因为它是对长期环境的升级; 微软在.NET中重写它的成本无疑是令人望而却步的.

同样,就WinForms速度而言 - 有相当多的WinForms应用程序没有任何性能问题,包括相当强大的.NET IDE(SharpDevelop).

  • 禁止直到VS10,其前端是各种WPF.这是一些重型狗狗食物.:)(我真的很想看到他们投资他们的技术.) (7认同)
  • 上次我检查时,devenv.env显示出用C++和MFC编写的迹象:如果你使用WinSpy来查看窗口类名,那么很多都有MFC的经典"Afx ..."模式. (2认同)

Mar*_*ade 1

根据我使用 VS SDK 的经验,它看起来好像是用 C++/COM 构建的,但我认为这只是因为 Visual Studio 团队决定采用它(并且 Windows 窗体在发布时并不作为发布版本存在)首先开发 VS.NET IDE)。

您可以将 Windows 窗体用于编辑器类型应用程序。我认为 SharpDevelop 是一个 WinForms 应用程序。