【发布时间】:2021-12-14 14:17:29
【问题描述】:
不幸的是,我不得不维护一个广泛使用这些 DLL 的应用程序,其中显示了它们的构建日期/时间:
Microsoft.Practices.CompositeUI.WinForms.dll:
4896A9C9 time date stamp Mon Aug 4 08:03:37 2008
Microsoft.Practices.CompositeUI.dll:
468A2943 time date stamp Tue Jul 3 11:47:31 2007
Microsoft.Practices.ObjectBuilder.dll:
468A2942 time date stamp Tue Jul 3 11:47:30 2007
尝试针对最新的 System.Windows.Forms DLL 构建此应用程序会产生大约 10,000 条错误消息(很大)。
我的问题是这些 DLL 中定义的类没有一个或很少符合任何现有的在线文档。
例如,TreeNodeCollection 类没有“Item”属性 因此无法通过 Index 访问节点 - 从 .NET v1.0 开始 之后,该类旨在提供 Item 属性,根据 我能找到的所有文档。
任何人都可以提供的任何信息,例如这些 DLL 的内容符合哪些标准或规范,或者我可以在哪里找到有关其内容的文档,或者关于我如何生成 DLL 中所有类的所有成员的列表,带有方法签名和类型名称,将不胜感激。
是的,我们计划完全放弃使用 C#,并完全使用 .NET/Windows GUI 框架,而改用 FLTK 和 C++。这将是一个长期项目。
但与此同时,我们必须维护这个被大量客户使用的应用程序。
如果有人能建议我在哪里可以找到任何关于 Microsoft.Practices.CompositeUI.*,从 2007 年到 2008 年,请告诉我。
我已经搜索 msdn.microsoft.com 网站的 docs.microsoft.com 和 WayBack Machine 副本数小时没有成功。我能找到的所有文档都坚持 TreeNodeCollection 必须具有“项目”属性,但在 我们使用的版本没有。任何人对我可以在哪里找到这个古老版本的 Microsoft.Practices.System.Windows.Forms 的文档有任何想法/指示?
【问题讨论】:
-
查看程序集版本号,确定 .NET Framework 版本,然后转到文档。对于超过 12 年的软件,请注意您非常喜欢旧版。但这些似乎不是 .NET 框架,而是来自非常过时的“模式和实践”添加......这始终是一组不受支持的扩展。
-
您可以使用反射来枚举程序集中的类型和类型成员。
-
@Richard - 谢谢!但是我从哪里获得程序集版本号?我在 'dumpbin /all $DLL' 输出中没有看到它们。抱歉,我是 Windows 新手。
-
我该如何“使用反射枚举程序集中的类型和类型成员”?请注意,我们只有 DLL - 没有别的。
-
加载提供
Assembly引用的程序集。然后Assembly.GetTypes()(或GetExportedTypes())