我可以在运行时加载(通常引用)dll而不知道路径吗?

时间:2013-11-01 09:04:31

标签: c# dll runtime

我可以加载System.DirectoryServices.AccountManagement(或多或少),就像我可以用excel一样吗?我不想在我的项目中引用dll,而是在运行时加载它。

如何加载任何Framework dll?

  • Assembly.LoadFile(...);
  • 然后我需要了解它的路径。怎么样?

Excel示例:

dynamic excel = Activator.CreateInstance(Type.GetTypeFromProgID("Excel.Application"));

我希望我可以使用这样的动态对象:

PrincipalContext context1 = new PrincipalContext(ContextType.Domain); // referenced dll
dynamic context2 = ???; // loaded at runtime

1 个答案:

答案 0 :(得分:0)

引用的dll /程序集可能构建在exe文件所在的文件夹中。您可以从那里加载它们(使用Sytem.AppDomain.Current.BaseDirectory来获取路径)。没有这样的方法,你需要加载没有指定路径的程序集,或者你可以按照你描述的那样实现它