我正在尝试组装“当前正在使用”程序集,我无法弄清楚我是如何做到这一点的。我在表单应用程序中引用它时能够执行此操作,但在 Web服务中使用时它无法正常工作。
为了从WinForm中获取它,我使用了:Assembly.GetCallingAssembly()
,它可以很好地返回我的CallingApp的dll,然后可以访问他的程序集。但是当它用于Web服务时,它将返回Current DLL本身而不是Web Service的一个。
任何人都知道如何解决这个问题?
编辑#1
更确切地说: MyWebService 引用 MyDLL 。在 MyDLL 中,我想获取 MyWebService 或使用 MyDLL 的任何其他项目程序集。这就是为什么我使用Assembly.GetCallingAssembly()
完全适用于Win Form应用程序...而不是使用Web服务。
答案 0 :(得分:1)
我可以想象两种不同的方法:
通过StackTrace,您可能必须遍历每个帧以确定程序集。
这个帖子可能会给你一些提示: