如何从Assembly
加载组件而不在内存中加载完整的Assembly
?
如果我UserControl
中有Assembly
个UC1,我想在 XAML or c# code
中加载它而不加载整个汇编文件? 我可以这样做吗?
答案 0 :(得分:1)
仅限代码检查,您需要阅读此article on MSDN。使用该方法,未加载检查的库。不幸的是,要执行方法,你需要从汇编中加载汇编和方法,因为其他帖子正在消化。
答案 1 :(得分:0)
来自其他堆栈溢出帖子:Loading DLLs at runtime in C#
成员必须在编译时可解析才能直接调用 C#。否则,您必须使用反射或动态对象。
namespace ConsoleApplication1 { using System; using System.Reflection; class Program { static void Main(string[] args) { var DLL = Assembly.LoadFile(@"C:\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\DLL.dll"); foreach(Type type in DLL.GetExportedTypes()) { var c = Activator.CreateInstance(type); type.InvokeMember("Output", BindingFlags.InvokeMethod, null, c, new object[] {@"Hello"}); } Console.ReadLine(); } }
}