访问项目应用程序文件夹中的程序集dll时出现fileloadeexception
本文关键字:dll fileloadeexception 程序集 项目 应用程序 文件夹 访问 | 更新日期: 2023-09-27 18:07:14
我想加载存储在c:
驱动器上的项目应用程序文件夹中的程序集。
这是代码:
public static void Main(string[] args)
{
Assembly asm = null;
asm = Assembly.LoadFrom("C:''SampleProj''Workspace''Test_App''bin''Debug''Assemblies");
}
我得到的例外是:
无法加载文件或程序集'file:///C:'SampleProj'Workspace'Test_App'bin'Debug'Assemblies'或其依赖项之一。访问被拒绝
我尝试了以下操作,但错误仍然是一样的:
- 将项目保存在其他驱动器中并从那里访问程序集
- 删除项目文件夹子文件夹 的只读权限
- 在项目文件夹属性中授予用户完全控制权限
- 单击所有DLL属性的Unblock按钮
请帮。
正如我在评论中所写的,您没有指定有效的路径(当您需要指定dll时,您正在指定文件夹)。如果要加载该文件夹中的所有程序集,请使用这段代码:
private static List<Assembly> Assemblies = new List<Assembly>();
private static void LoadAllAssemblies(string path)
{
foreach (var dir in Directory.GetDirectories(path))
{
LoadAllAssemblies(Path.Combine(path, dir));
}
foreach (var file in Directory.GetFiles(path))
{
if (Path.GetExtension(file) == ".dll")
{
Assemblies.Add(Assembly.LoadFrom(Path.Combine(path, file)));
}
}
}