温馨提示×

C#中如何加载和卸载Assembly

c#
小樊
191
2024-08-12 04:48:37
栏目: 编程语言

在C#中,可以使用Assembly.Load方法来加载一个Assembly,使用Assembly.Unload方法来卸载一个Assembly。

加载Assembly的示例代码如下:

Assembly assembly = Assembly.Load("AssemblyName");

卸载Assembly的示例代码如下:

AppDomain.CurrentDomain.GetAssemblies().ToList()
    .ForEach(a =>
    {
        if (a.FullName.StartsWith("AssemblyName"))
        {
            AppDomain.CurrentDomain.Load(a.FullName);
            AppDomain.CurrentDomain
                .GetAssemblies()
                .Where(
                    currentAssembly =>
                        currentAssembly.FullName == a.FullName
                )
                .ToList()
                .ForEach(currentAssembly =>
                {
                    AppDomain.CurrentDomain
                        .Load(currentAssembly.FullName)
                        .GetTypes()
                        .ToList()
                        .ForEach(
                            type =>
                            {
                                if (type != null)
                                    currentAssembly.CreateInstance(
                                        type.FullName
                                    );
                            }
                        );
                });
        }
    });

请根据实际情况调整代码中的Assembly名称和逻辑。

0