如何了解图书馆如何协同工作?
Posted
技术标签:
【中文标题】如何了解图书馆如何协同工作?【英文标题】:How to find out how libraries work together? 【发布时间】:2011-02-26 11:46:11 【问题描述】:我的任务是复制现有应用程序的功能。此应用程序依赖于可从 C# 访问的 .NET 托管程序集。我可以在我的新 C# 项目中导入这些 DLL,但没有关于如何使用它们的文档。
是的,这被标记为“SDK”,但不包含示例或文档。关于我应该如何进行的任何指示?
我考虑过创建存根程序集并从原始应用程序监视它们的使用情况,但这涉及大量代码。有什么工具可以帮我做吗?
【问题讨论】:
【参考方案1】:使用Reflector 是最好的方法。您可以查看调用了什么并以一种简单易用的方式检查 dll。
你也可以试试Cecil
它们都是检查托管 dll 的绝佳工具
【讨论】:
如果 dll 是托管的,那么主 exe 也可能是 .net。看看他们如何使用自己的 api。 好建议。不要忘记反汇编调用代码以查看 API 在上下文中是如何使用的。 是的,Reflector 是要走的路,假设程序集没有被混淆。它可以将反汇编的程序集导出到 Visual Studio 项目,然后您可以构建该项目、添加到您的解决方案中,并使用 VS 测试项目来编写对旧程序集中的类/方法的调用。掌握窍门后实际上会很有趣!以上是关于如何了解图书馆如何协同工作?的主要内容,如果未能解决你的问题,请参考以下文章
OpenVR、SteamVR 和 Unity3D 如何协同工作?