【问题标题】:why visual studio devenv.exe is not .net module为什么 Visual Studio devenv.exe 不是 .net 模块
【发布时间】:2017-06-14 06:58:46
【问题描述】:

Visual Studio 建立在 .NET 框架和 (WPF / XAML) 之上。但是,如果我们尝试对 devenv.exe(Visual Studio 进程)使用 .NET 反射器之类的反射工具,为什么它会说不是有效的 .NET 模块。

【问题讨论】:

  • 我不接受你的前提。
  • @SamAxe 将 Windows 本机可执行文件与 .net 可执行文件相对有什么好处。
  • Visual Studio 是基于 .NET 框架构建的 引用或者它没有发生...stackoverflow.com/questions/11706149/… VS 2012 接受的响应是 C++ + C#,所以 devenv。 exe 可能是 C++ 部分。
  • VS 的核心是一个插件宿主,它使用 COM 来加载插件并相互通信。用 C++ 编写。它还支持在 .NET 中编写插件。
  • @HansPassant 感谢您在此分享更多内容。

标签: .net visual-studio .net-reflector


【解决方案1】:

通过查看 devenv.exe 的依赖关系(例如 Dependancy Walker),我发现它依赖于

  • vcruntime140.dll
  • msvcp140.dll
  • mscoree.dll

这与您编写 C++/CLR 应用程序时获得的内容兼容(“混合”模式,因此是默认模式,程序被编译为机器代码并且可以使用本机库和 .NET 库,而不是“安全”或“纯”)。

【讨论】:

    猜你喜欢
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 2011-03-10
    相关资源
    最近更新 更多