如果基于WPF的Visual Studio 2010,为什么不能使用反射器打开它? [英] If Visual Studio 2010 based on WPF, why I cannot open it with reflector?

查看:112
本文介绍了如果基于WPF的Visual Studio 2010,为什么不能使用反射器打开它?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果Visual Studio 2010基于WPF,为什么我不能使用反射器打开它?

If Visual Studio 2010 based on WPF, why I cannot open it with reflector?

换句话说,devenv.exe似乎是本机程序集,那么WPF UI代码在哪里?

In other words, devenv.exe seems to be native assembly, so where is the WPF UI code?

推荐答案

Visual Studio devenv.exe可执行文件确实是本机程序.但是,本机程序可以加载.NET运行时,从而承载Windows窗体和WPF组件.实际上,Visual Studio一直这样做.甚至在VS2010为其编辑器和外壳程序采用WPF之前,各种Visual Studio设计器都是在Windows窗体中实现的.如果进入Common7\IDECommon7\IDE\PrivateAssemblies目录,则会发现很多设计器DLL,您可以在Reflector中查看它们(例如Microsoft.VisualStudio.ORDesigner.Dsl.dll是LINQ to SQL设计器).

The Visual Studio devenv.exe executable is indeed a native program. However, native programs can load the .NET runtime and thereby host Windows Forms and WPF components. In fact, Visual Studio has always done this. Even before VS2010 adopted WPF for its editor and shell, the various Visual Studio designers were implemented in Windows Forms. If you go into the Common7\IDE and Common7\IDE\PrivateAssemblies directories, you'll find lots of designer DLLs that you can view in Reflector (e.g. Microsoft.VisualStudio.ORDesigner.Dsl.dll is the LINQ to SQL designer).

因此,Visual Studio的新WPF位只是本机可执行文件中托管的另一组托管程序集.我不确定哪个特定程序集承载WPF位-坦白讲,可能有几十个.但是,在调试器中查看VS进程,我会说Microsoft.VisualStudio.Editor.dll(位于GAC中,而不是VS安装目录中)将是一个不错的起点.

So the new WPF bits of Visual Studio are just another set of managed assemblies hosted in the native executable. I'm not sure which particular assemblies host the WPF bits -- and to be honest there are probably dozens. But looking at the VS process in the debugger, I'd say Microsoft.VisualStudio.Editor.dll (which lives in the GAC, not in the VS install directory) would be a good place to start.

这篇关于如果基于WPF的Visual Studio 2010,为什么不能使用反射器打开它?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆