C# Asp.net MVC加载模块和探测位置

C# Asp.net MVC加载模块和探测位置,c#,asp.net-mvc,reflection,C#,Asp.net Mvc,Reflection,我目前正在为我的网站构建一个插件结构。要加载程序集,我使用Assembly.LoadFile。当我在我的一个插件文件夹中转储所有dll并将探测私有路径设置为插件文件夹时,它正在工作 为了使插件更易于维护,我尝试将插件拆分到单独的文件夹中。这给了我一些问题,因为probePath只在顶级目录中。我可以在该设置中添加所有插件路径,并且可以正常工作,但我更希望根据找到的目录动态设置路径。这可能吗?或者在加载程序集时是否有方法设置路径?尝试assembly.LoadFrom(字符串路径) 看起来您原来的

我目前正在为我的网站构建一个插件结构。要加载程序集,我使用Assembly.LoadFile。当我在我的一个插件文件夹中转储所有dll并将探测私有路径设置为插件文件夹时,它正在工作

为了使插件更易于维护,我尝试将插件拆分到单独的文件夹中。这给了我一些问题,因为probePath只在顶级目录中。我可以在该设置中添加所有插件路径,并且可以正常工作,但我更希望根据找到的目录动态设置路径。这可能吗?或者在加载程序集时是否有方法设置路径?

尝试assembly.LoadFrom(字符串路径)

看起来您原来的方法实际上只从正常探测的位置(GAC和应用程序目录)拉入程序集

而LoadFrom方法允许您在此位置之外的目录中指定程序集


要么是我以前用过这个,运气不错,要么是我读过书,忘记了它们的区别

你看过微软MEF吗?嗯。。。看了很多东西。有什么理由建议这样做吗?请阅读以下内容:我将对其进行测试,并让您知道。Assembly.LoadFrom确实有效,但它不在探测目录中,因此无法找到视图……您的结构是什么?我以前设计过一个简单的插件架构,所以应该能够提供帮助。基本上,我制作了一个mvc区域,添加了一个带一些配置的???plugin.cs文件。在预应用程序初始化时,我在引导程序中加载文件,并初始化它们。唯一的问题是,如果probepath设置不正确,则无法找到已编译的RazorView。