C# 动态加载第三方程序集

C# 动态加载第三方程序集,c#,.net,assemblies,mef,C#,.net,Assemblies,Mef,我们有一个场景,我们已经构建了一个API,我们将提供给第三方来开发他们自己的包,与我们自己的包一起运行。第三方将是我们的兄弟/姐妹公司,因此就其构建内容而言,他们可以被视为“值得信任的”(我们当然会在将其代码放入我们的实时环境之前对其进行审查,但至少不必担心恶意内容) 我们内部开发的包是通过MEF进行内省和调用的,因此我们希望对第三方也这样做。我想我的问题是,实现这一目标的最佳方式是什么?我最初的想法是创建一个ExternalDLLs文件夹,当我们想要添加第三方软件包时,我们将在其中发布。然后,

我们有一个场景,我们已经构建了一个API,我们将提供给第三方来开发他们自己的包,与我们自己的包一起运行。第三方将是我们的兄弟/姐妹公司,因此就其构建内容而言,他们可以被视为“值得信任的”(我们当然会在将其代码放入我们的实时环境之前对其进行审查,但至少不必担心恶意内容)

我们内部开发的包是通过MEF进行内省和调用的,因此我们希望对第三方也这样做。我想我的问题是,实现这一目标的最佳方式是什么?我最初的想法是创建一个ExternalDLLs文件夹,当我们想要添加第三方软件包时,我们将在其中发布。然后,我们的系统将需要反思启动时可用的内容…查看是否有新的内容要添加(我们将在数据库中记录所有这些内容),并在需要时添加。这样行吗?有更好的办法吗?还有什么需要注意的地方吗


如果我不清楚,请让我知道,我会澄清,非常感谢大家

好吧,如果您已经在使用MEF,那么您只需为您的ExternalURLs文件夹添加一个
DirectoryCatalog

这基本上是我的想法,我会尝试一下,看看它是如何工作的,谢谢