.net - 仅加载目录中的托管程序集 DLL

标签 .net asp.net

我需要从一个目录中的 DLL 加载所有程序集。

我的基本代码是:

var assemblies = from filename in Directory.GetFiles(HttpRuntime.BinDirectory, "*.dll")
                 select Assembly.LoadFrom(filename);

但是,如果该目录中有非托管 DLL,则 Assembly.LoadFrom 将失败。有没有只加载托管 DLL 的好方法?捕获加载异常是一种选择,但我想知道是否有更好的方法。

我的代码在 ASP.NET 上运行,在应用程序启动时。所以我也会接受一个 ASP.NET 特定的解决方案。

最佳答案

只需分别循环遍历它们并放入 Assembly.LoadFromtry...catch堵塞。

关于.net - 仅加载目录中的托管程序集 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7257787/

相关文章:

c# - 在 C# 中,为什么 List<string> 对象不能存储在 List<object> 变量中

c# - 在 asp.net mvc Controller 中处理异常

c# - Entity Framework 多对多关系表创建 "backwards"

asp.net - 为 ASP.Net Web 应用程序自定义 azure 403 Forbidden 错误页面

c# - 在 C# 中读取远程 XML

c# - EF 返回的 FK 集合为空,但验证重复项,确认就是这样,集合有内容

c# - 通过特定的 where 子句在 C# 中创建通用方法

c# - 如何在C#上获取字符串的中心部分

c# - 如何隐藏 .NET 可执行文件中的详细信息?

asp.net - 如何启动不监听本地主机的 ASP.NET Core 1.0 RC2 应用程序