从文件夹、C#windows窗体项目加载DLL
我在另一个项目中看到了这一点,该项目也使用了windows窗体,我只是好奇如何做到这一点。 基本上就是我要问的,例如:我有两个windows窗体项目,目前这两个项目都是独立的,但我想将它们合并到一起。其中一个重要方面是如何将第二个项目加载到第一个项目中。因此,我将我的第二个项目构建为.dll文件。 然后我想把这个.dll文件放到项目中的一个文件夹中,然后可以搜索文件夹中的任何.dll文件并加载它们 因此,我知道我可以通过将第二个项目中的.dll文件添加到第一个项目的引用中来实现这一点,但具体来说,我想知道如果没有这个,它是否可以实现?从文件夹、C#windows窗体项目加载DLL,c#,winforms,dll,C#,Winforms,Dll,我在另一个项目中看到了这一点,该项目也使用了windows窗体,我只是好奇如何做到这一点。 基本上就是我要问的,例如:我有两个windows窗体项目,目前这两个项目都是独立的,但我想将它们合并到一起。其中一个重要方面是如何将第二个项目加载到第一个项目中。因此,我将我的第二个项目构建为.dll文件。 然后我想把这个.dll文件放到项目中的一个文件夹中,然后可以搜索文件夹中的任何.dll文件并加载它们 因此,我知道我可以通过将第二个项目中的.dll文件添加到第一个项目的引用中来实现这一点,但具体来说
因此,在我的第一个项目中,我可以说:;“搜索“DirectoryName”,如果该文件夹中有任何.dll文件,请加载它们,并将它们添加到项目中用户(即我)可以看到并希望使用的列表中。”您可能有兴趣使用
或者,您可以使用Assembly.LoadFrom(),如。您要查找的内容可以通过使用名为 反射允许您将程序集动态加载到应用程序中 您需要的类称为Assembly,它有几个用于加载程序集的有用方法: LoadFile、LoadFrom等 下面是在给定路径加载程序集的代码示例: 加载程序集并引用程序集对象后,可以创建在其中定义的对象、调用其方法等
更多资源可以在这里找到:这里有一些有用的链接 问:那么 外部博客 基本上,您需要加载库、枚举类型并使用
Activator.CreateInstance()
创建新对象。
为需要交互的类提供接口也会对您有所帮助谢谢您的回答:),非常有用!
string path = @"D:\Folder\MyDll.dll";
Assembly assembly = Assembly.LoadFrom(path);