在WPF的运行时添加dll文件(多个文件)作为引用,示例如下

在WPF的运行时添加dll文件(多个文件)作为引用,示例如下,wpf,Wpf,我有一个.dll文件在一个文件夹中,该文件夹在程序文件夹中(不是在bin中)。我必须在运行时在WPF应用程序中添加这些.dll汇编作为参考。如何添加这个???。我搜索了许多网站,但没有找到WPF public class Loadassembly { public void assembly() { System.Reflection.Assembly myDllAssembly = Assembly.LoadFile(@"C:\Users\mouli\Desktop\Nov 11\

我有一个.dll文件在一个文件夹中,该文件夹在程序文件夹中(不是在bin中)。我必须在运行时在WPF应用程序中添加这些.dll汇编作为参考。如何添加这个???。我搜索了许多网站,但没有找到WPF

public class Loadassembly
 {
   public void assembly()
 {
System.Reflection.Assembly myDllAssembly =  Assembly.LoadFile(@"C:\Users\mouli\Desktop\Nov 11\Table_Level_Restore\Table_Level_Option\Third party dll\Microsoft.SqlServer.ConnectionInfo.dll");

Type[] types = myDllAssembly.GetTypes();
          foreach (Type typ in types)
                 {
                 object obj = Activator.CreateInstance(typ);
                 MethodBase method = System.Reflection.MethodBase.GetCurrentMethod();
                 string methodName = method.Name;
                 string className = method.ReflectedType.Name;
                 string fullMethodName = className + "." + methodName;
                 MethodInfo mi = typ.GetMethod(fullMethodName);
                 mi.Invoke(0, null);
                }
 }
 } 

我添加了这个类以在运行时加载程序集,但它不起作用。为什么???它告诉您在调试时缺少任何程序集。

下面是一个从DLL调用函数的简单示例

                    var tmp = Assembly.Load(value);
                    foreach (var cl in tmp.GetTypes())
                    {
                            foreach (var mtd in cl.GetMethods(BindingFlags.Public | BindingFlags.Static))
                            {
                                if (/* want to call */)
                                {
                                    mtd.Invoke(null, new Object[] { / params / });
                                }
                            }
                    }

没有这样的属性..你是否告诉“复制到输出目录”这个属性..我是否应该设置为“始终复制…”不明白你在哪里找到了“复制到输出目录”。只需转到引用并查看引用的dllHai的属性..我不是要求在DLL中使用方法..只需在运行时添加.DLL文件作为引用..您不能。你想达到什么目标?你有两个选择。添加它们作为早期绑定的参考(并在应用程序中使用它们的所有内容),或者最近加载它们并从中调用一些函数。没有第三种选择,对不起。