从嵌入式资源加载程序集

7 c# dll resources visual-studio

我想加载一个DLL文件(Test.dll)作为程序集.我能够使用直接的Visual Studio引用(即加载dll作为我的C#应用​​程序的引用)以及使用该Assembly.LoadFile(filename)方法加载dll来完成此操作.现在,我想将我的dll文件作为嵌入式资源添加到我的Visual Studio应用程序中,并将dll文件作为程序集加载.我知道如何将此资源作为字节数组加载,字节数组和我可以使用的程序集之间是否存在某种关联?此外,我需要能够调用位于dll文件中的方法.请参阅下面的代码 - 它将进一步解释我在做什么.

Assembly SampleAssembly = Assembly.LoadFrom("WindowsFormsApplication2.ThisisaTESTDLL.dll");
Type myType = SampleAssembly.GetTypes()[0];
MethodInfo Method = myType.GetMethod("myVoid");
object myInstance = Activator.CreateInstance(myType,null);
Method.Invoke(myInstance,new object[] { "param1", "param1"});
Run Code Online (Sandbox Code Playgroud)

如果我在这里遗漏任何东西,请尊敬地告诉我,我将编辑原始帖子.

Sco*_*ski 6

Assembly.GetExecutingAssembly().GetManifestResourceStream(...)

这应该会得到一个Stream对象.你可以从中读取一个字节数组.

您可以使用Assembly.Load加载它

  • 有几个重载...你看到箭头循环重载列表?您也可以尝试使用resharper或devexpress的工具.他们提高了智慧程度. (3认同)