在WPF的运行时添加dll文件(多个文件)作为引用,示例如下
我有一个.dll文件在一个文件夹中,该文件夹在程序文件夹中(不是在bin中)。我必须在运行时在WPF应用程序中添加这些.dll汇编作为参考。如何添加这个???。我搜索了许多网站,但没有找到WPF在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\
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文件作为引用..您不能。你想达到什么目标?你有两个选择。添加它们作为早期绑定的参考(并在应用程序中使用它们的所有内容),或者最近加载它们并从中调用一些函数。没有第三种选择,对不起。