C# 哪个DLL包含SVC文件的代码隐藏代码?
我正在制作一个工具,扫描当前计算机的驱动器,寻找我们公司的应用程序。如果它遇到我们的服务之一(SVC文件),它还应该获得代码的te版本。要做到这一点,它应该找出哪个DLL保存着SVC文件的代码 SVC文件只包含名称空间和类的名称,而不包含DLL的名称。BIN文件夹包含多个DLL,那么它可能是哪一个 在这种情况下,我们不能假设程序集与(根)命名空间具有相同的名称,因此这没有任何帮助 我能想到的唯一方法是在一个单独的AppDomain中打开所有DLL,并检查所有包含名称空间+类的文件C# 哪个DLL包含SVC文件的代码隐藏代码?,c#,.net,wcf,dll,C#,.net,Wcf,Dll,我正在制作一个工具,扫描当前计算机的驱动器,寻找我们公司的应用程序。如果它遇到我们的服务之一(SVC文件),它还应该获得代码的te版本。要做到这一点,它应该找出哪个DLL保存着SVC文件的代码 SVC文件只包含名称空间和类的名称,而不包含DLL的名称。BIN文件夹包含多个DLL,那么它可能是哪一个 在这种情况下,我们不能假设程序集与(根)命名空间具有相同的名称,因此这没有任何帮助 我能想到的唯一方法是在一个单独的AppDomain中打开所有DLL,并检查所有包含名称空间+类的文件 有人知道更快的
有人知道更快的方法吗?根据建议,软件现在正在扫描可能属于SVC文件的所有程序集。创建单独的AppDomain以反映每个单独的DLL非常缓慢。所以我在想:“其他程序是如何处理这个问题的?”于是我看了一下 ILSpy用于反映程序集。它在二进制级别读取程序集,并且不创建单独的AppDamain。它甚至返回比正常反射更多的信息
我下载了这个DLL,并在我的应用程序中使用它,效果非常好。包含.svc文件中提到的类型的DLL。WCF还将扫描该命名空间和类型的程序集。@CodeCast:So。。。您是说扫描所有程序集是唯一的解决方案?是的,服务类型可以驻留在任何程序集中。这听起来可能效率低下,但您需要此工具这一事实意味着您没有适当的应用程序生命周期/发布管理,这本身就是低效的。关于生命周期/发布管理,您是绝对正确的。我们公司意识到这一点,并正在努力解决这一问题。第一步:了解所有混乱情况;)好。当然没有冒犯的意思。:)