在c#项目中使用未知的dll

时间:2013-01-21 21:40:49

标签: c# dllimport code-reuse

我的计算机上有另一个程序的dll。 根据它的名称,它可以具有我自己的c#项目所需的功能。 它似乎也是用c#制作的。

是否有可能找到其中的功能并使用它们?

5 个答案:

答案 0 :(得分:3)

如果它是C#DLL,那么您可以添加引用并使用它。如果它是本机DLL,那么你需要进行一些逆向工程。

但是,您所描述的并不是开发软件的常规方法。要编写合适的软件,您需要为您使用的库提供良好的文档。试图猜测一个库是如何调用的,这是一个灾难的秘诀。开发应基于对您正在使用的工具的扎实和深刻理解。

答案 1 :(得分:2)

Visual Studio提供了Object Browser,如果您想要了解DLL(对于那些用.NET编写的涉及IL的文件)。

screenshot of object browser http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-65-29/4774.wmob04.jpg
借鉴this msdn blog

但是,如果您需要更多控制权或希望能够不仅包括库但查看源(在大多数情况下)并逐步调试(调试),我建议抓住.NET Reflector

答案 2 :(得分:1)

您只需在项目中引用所需的dll,然后使用Object Browser查看您可以访问的方法等。

第1步:添加参考

enter image description here

第2步:选择dll

enter image description here

第3步:在对象浏览器中查看

enter image description here

第4步:浏览资料库

enter image description here

第5步:找到您需要的内容

快乐编码:)

答案 3 :(得分:0)

绝对!如果可以通过右键单击项目引用,单击添加引用,然后浏览到它来将其添加为引用,则它应与您正在使用的.NET版本兼容。此时,尝试实例化它,看看是否可以在实例化上进行定义。粗暴但是习惯使用外部dll的有效方法。

答案 4 :(得分:0)

如果它确实是C#DLL,那么您可以将其添加为项目的引用,然后使用对象浏览器查看它包含的命名空间和类。