C# 从DLL(程序集)加载组件而不加载程序集
如何从C# 从DLL(程序集)加载组件而不加载程序集,c#,wpf,C#,Wpf,如何从组件加载组件,而不在内存中加载完整的组件 假设我在程序集中有一个UserControlUC1,我想在XAML或c#code中加载它,而不加载整个程序集文件可以吗?来自其他堆栈溢出帖子: 成员必须在编译时可解析,才能直接从 C#。否则,必须使用反射或动态对象 namespace ConsoleApplication1 { using System; using System.Reflection; class Program { static
组件
加载组件,而不在内存中加载完整的组件
假设我在
程序集
中有一个UserControl
UC1,我想在XAML或c#code
中加载它,而不加载整个程序集文件可以吗?来自其他堆栈溢出帖子:
成员必须在编译时可解析,才能直接从
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();
}
}
}
仅用于代码检查,您需要阅读以下内容。使用这种方法,不会加载已检查的库。不幸的是,要执行方法,您需要从程序集中加载程序集和方法,因为其他帖子都在暗示。您可以使用反射来执行.NET代码,而无需在编译时链接。(顺便说一句,这正是PowerShell的工作方式)。@DhavalPatel请检查更新的问题,这将加载一个ambly。。。问题是,在阅读时是否可以不加载真的,遗漏了“不”部分。@DovydasSopa我已经更新了问题,你能检查一下吗?我已经更新了问题,你现在能检查一下吗