检索当前使用其他程序集的程序集

时间:2013-11-15 16:44:58

标签: c# vb.net visual-studio-2008 .net-assembly

我正在尝试组装“当前正在使用”程序集,我无法弄清楚我是如何做到这一点的。我在表单应用程序中引用它时能够执行此操作,但在 Web服务中使用时它无法正常工作。

为了从WinForm中获取它,我使用了:Assembly.GetCallingAssembly(),它可以很好地返回我的CallingApp的dll,然后可以访问他的程序集。但是当它用于Web服务时,它将返回Current DLL本身而不是Web Service的一个。

任何人都知道如何解决这个问题?

编辑#1

更确切地说: MyWebService 引用 MyDLL 。在 MyDLL 中,我想获取 MyWebService 或使用 MyDLL 的任何其他项目程序集。这就是为什么我使用Assembly.GetCallingAssembly()完全适用于Win Form应用程序...而不是使用Web服务。

1 个答案:

答案 0 :(得分:1)

我可以想象两种不同的方法:

通过StackTrace,您可能必须遍历每个帧以确定程序集。

这个帖子可能会给你一些提示:

C# - Get calling method's Assembly?