【问题标题】:Shell extensions with .NET 4.0.NET 4.0 的外壳扩展
【发布时间】:2010-06-16 13:56:29
【问题描述】:

任何人都有关于如何使用 .NET 将菜单项添加到资源管理器外壳的任何文档或示例。

只能找到信息说现在应该可以使用 .NET 4.0,但不知道如何去做。

【问题讨论】:

    标签: .net shell .net-4.0


    【解决方案1】:

    早在 2004 年,MSDN 杂志就有一篇关于托管 shell 扩展的文章:

    Create Namespace Extensions for Windows Explorer with the .NET Framework

    我认为.NET 4.0 中的基本机制没有改变。但不同之处在于,使用 .NET 4.0,您可以放心地忽略该文章顶部的红色警告(“...Microsoft 建议不要编写托管 shell 扩展...”),因为 CLR 的 4.0 版可以同时托管-side 与同一进程中的其他版本。这在以前是不可能的。

    更新:

    All-In-One Code Framework 现在包含一个example for managed shell extensions (CSShellExtContextMenuHandler)。

    【讨论】:

      【解决方案2】:

      即使使用并行执行的 .NET 4,编写托管 shell 扩展也可能不是一个好主意:According to Microsoft 员工 Jialiang Ge,“Microsoft [...] 尚未确定是否会长期支持托管 shell 扩展 [...] Microsoft [...] 将不支持托管 shell 扩展,并建议不要编写它们。”

      【讨论】:

      • +1 用于添加指向有关该问题的最新信息的链接(日期为 2013 年 12 月 16 日)。
      【解决方案3】:

      最新版本(目前为 All-In-One Code Framework 2011-8-8 2011 年 8 月 8 日)的 All-In-One 框架不再包含这些示例。 Think MS 删除了对托管 shell-in 的正式支持。

      但是我可以确认它们仍然可以从 All-In-One Code Framework 2010-09-06 http://1code.codeplex.com/releases/view/51868

      更新:

      文档中有一个错误。要在 x64 机器上安装创建的 shell 扩展,请使用“Visual Studio x64 Win64 命令提示符 (2010)”来运行 regasm 命令。此命令提示符已作为 Visual Studio 安装程序中 c++ 内容的一部分安装,但本质上是以下命令:

      %comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" amd64

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-07
        相关资源
        最近更新 更多