哪个 DLL 包含 SVC 文件的代码隐藏代码?
Which DLL contains the code of the code behind of a SVC-file?
我正在制作一个工具,可以扫描当前计算机的驱动器以查找我们公司制作的应用程序。如果它遇到我们的一项服务(SVC 文件),它也应该获得代码的 te 版本。为此,它应该找出哪个 DLL 保存了 SVC 文件的代码。
SVC 文件只包含命名空间的名称和 class,不包含 DLL 的名称。 BIN 文件夹包含多个 DLL,那么它可能是哪一个...?
在这种情况下,我们不能假设程序集与(根)命名空间同名,所以这没有任何帮助。
我能想到的唯一方法是在单独的 AppDomain 中打开所有 DLL 并检查所有包含的名称空间 + classes。
有人知道更快的方法吗?
正如所建议的那样,该软件现在正在扫描可能属于 SVC 文件的所有程序集。创建单独的 AppDomains 来反映每个单独的 DLL 非常慢。所以我在想:"How do other programs deal with this problem?",所以我看了一下ILSpy。
ILSpy 使用 Mono.Cecil 来反映程序集。它以二进制级别读取程序集,并且不创建单独的 AppDamain。它甚至 returns 比正常反射更多的信息。
我下载了这个 DLL 并在我的应用程序中使用它并且运行良好。
我正在制作一个工具,可以扫描当前计算机的驱动器以查找我们公司制作的应用程序。如果它遇到我们的一项服务(SVC 文件),它也应该获得代码的 te 版本。为此,它应该找出哪个 DLL 保存了 SVC 文件的代码。
SVC 文件只包含命名空间的名称和 class,不包含 DLL 的名称。 BIN 文件夹包含多个 DLL,那么它可能是哪一个...?
在这种情况下,我们不能假设程序集与(根)命名空间同名,所以这没有任何帮助。
我能想到的唯一方法是在单独的 AppDomain 中打开所有 DLL 并检查所有包含的名称空间 + classes。
有人知道更快的方法吗?
正如所建议的那样,该软件现在正在扫描可能属于 SVC 文件的所有程序集。创建单独的 AppDomains 来反映每个单独的 DLL 非常慢。所以我在想:"How do other programs deal with this problem?",所以我看了一下ILSpy。
ILSpy 使用 Mono.Cecil 来反映程序集。它以二进制级别读取程序集,并且不创建单独的 AppDamain。它甚至 returns 比正常反射更多的信息。
我下载了这个 DLL 并在我的应用程序中使用它并且运行良好。