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我已经更新了问题,你能检查一下吗?我已经更新了问题,你现在能检查一下吗