And*_*aus 5 .net windows-shell windows-7
我目前正在尝试创建一个自定义Shell名称空间扩展(用于呈现包含"子文件夹"和"文件"的虚拟文件夹,这实际上是来自远程服务的分层树结构中的数据表示).
扩展名是C#编写的,我知道 - 曾经是一个坏主意,但自从.NET 4引入了同一进程中不同版本的.NET运行时共存的可能性后,我认为这种限制不再一个问题.
到目前为止,我已经通过遵循网络上提供的大量示例和参考资料在Windows XP中运行良好,但是当我在Windows 7中尝试它时(我还没有在Vista中尝试过,所以我不知道是否它会工作),扩展没有加载.根据我的调试日志输出,它注册正常,但是当我打开一个Windows资源管理器窗口时,似乎没有发生对COM接口的常规调用(通常以IPersistFolder :: Initialize开头).实际上,甚至没有调用类构造函数.我不知道是否正在查询接口(成功与否),因为我不确定如何在.NET中检测到这些,所以我可以记录它.所以,基本上,我没有任何线索,因为它甚至在我有机会记录任何可能出错的有用信息之前就失败了.
有没有人碰巧知道问题可能是什么?在处理我应该注意的shell命名空间扩展时,Windows 7中是否存在与Windows XP相比需要考虑的特性?如果需要更多详细信息,请随时询问(我试着保持简短,因为我确定没有人会感谢我在这里复制和粘贴我的整个代码,而且我无法将其简化为相关部分因为我只是不喜欢我不知道这些是......
可能是由于以下原因:
您的命名空间是否有任何可能无法加载的依赖项?
注册成功了吗?您是否确实检查过注册表是否创建了正确的条目?请记住,如果 UAC 已打开,您可能需要提升权限。
作为自己开发如此复杂的野兽的替代方案,请考虑使用EZNamespaceExtensions - 它使它变得非常简单,您可以专注于提供特定于您的 nse 的功能。
免责声明:我们是 EZNamespaceExtensions 的开发人员。
| 归档时间: |
|
| 查看次数: |
980 次 |
| 最近记录: |