我有一个类库.net项目(没有配置,没有exe文件),我有类似的东西;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Reflection;
using System.Web.UI.WebControls;
using eBAControls; *<-- I want this dll to be loaded from a path in runtime.*
出于将来的原因,我必须制作copyLocal
false
,因此我需要能够在运行时引用dll。与当前dll 放在同一文件夹中的其他第三方dll不会引起任何问题,但是eBAControls
dll与该当前dll不在同一文件夹中,因此出现错误:{{ 1}} ...
出于某些编码和性能的原因,我也不能为此使用反射,因此需要将其添加到引用中...
我想要的只是
Could not load file or assembly 'eBAControls
答案 0 :(得分:3)
如果将事件处理程序放在AppDomain.AssemblyResolve上,则可以从任意位置加载程序集。参见Resolving Assembly Loads
这是一篇具有基本知识的博客文章。关键是时间。您必须在第一个引用该程序集的方法是JITted之前附加事件之前。 https://blogs.msdn.microsoft.com/dbrowne/2014/06/25/how-to-load-an-assembly-in-a-ssis-script-task-that-isnt-in-the-gac/