相关疑难解决方法(0)

在MEF和MAF之间选择(System.AddIn)

托管可扩展性框架(MEF)和托管AddIn框架(MAF,又名System.AddIn)似乎完成了非常类似的任务.根据这个Stack Overflow问题,MEF是System.Addin的替代品吗?,你甚至可以同时使用两者.

你什么时候选择使用一个与另一个?在什么情况下你会选择同时使用它们?

.net add-in mef system.addin maf

159
推荐指数
6
解决办法
5万
查看次数

正确加载程序集,查找类和调用Run()方法

示例控制台程序.

class Program
{
    static void Main(string[] args)
    {
        // ... code to build dll ... not written yet ...
        Assembly assembly = Assembly.LoadFile(@"C:\dyn.dll");
        // don't know what or how to cast here
        // looking for a better way to do next 3 lines
        IRunnable r = assembly.CreateInstance("TestRunner");
        if (r == null) throw new Exception("broke");
        r.Run();

    }
}
Run Code Online (Sandbox Code Playgroud)

我想动态构建一个程序集(.dll),然后加载程序集,实例化一个类,并调用该类的Run()方法.我应该尝试将TestRunner类转换为某些东西吗?不确定一个程序集中的类型(动态代码)如何知道我的(静态程序集/ shell应用程序)中的类型.使用几行反射代码只在一个对象上调用Run()会更好吗?该代码应该是什么样的?

更新:威廉埃德蒙森 - 见评论

.net c# reflection

79
推荐指数
4
解决办法
17万
查看次数

如何在.NET中加载插件?

我想提供一些在我的软件中创建动态可加载插件的方法.执行此操作的典型方法是使用LoadLibrary WinAPI函数加载DLL并调用GetProcAddress以获取指向该dll内的函数的指针.

我的问题是如何在C#/ .Net应用程序中动态加载插件?

.net windows plugins extensibility add-in

26
推荐指数
4
解决办法
1万
查看次数

MEF是System.Addin的替代品吗?

可能重复:
在MEF和MAF之间选择(System.AddIn)

Managed Extensibility Framework是System.Addin的替代品吗?或者它们是互补的吗?

.net mef inversion-of-control

17
推荐指数
2
解决办法
4978
查看次数