是否可以执行一个没有exe的.NET DLL来加载它?

前端之家收集整理的这篇文章主要介绍了是否可以执行一个没有exe的.NET DLL来加载它?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果有一种方法可以在新进程中执行静态的.DLL方法,而不必为它创建一个.EXE,我很好奇

AFAIK,这是不可能的本机Win32 / 64 DLL。 .NET DLL程序集怎么样?

更新:我忘了提到我主要感兴趣的是以编程方式(从C#代码,具体到)。

谢谢!

结论:虽然没有人敢于拼出来,但答案似乎都倾向于“不”。需要通过一种常规方式(EXE,PowerShell等)启动一个进程,然后说服该进程加载DLL并在其中执行代码。我想我是错误地希望受管理的DLL能够更多。

再次感谢所有人的追捧!

只需启动PowerShell提示符。
[Reflection.Assembly]::LoadFile("Name of your dll")
  [Your.NameSpace.And.TypeName]::YourMethod()

我看到你想从C#

使用装配合格名称创建类型:

var t = Type.GetType("NameSpace.Type,Name Of Dll");
 var m = t.GetMethod("NameOfMethod");
 m.Invoke(null,new object[] { params });

这应该让你开始。

我不完全知道你在“新进程”中的含义,但是不要把它打包成一个.exe / .ps1文件,你可以从命令行开始一些选项。

所以你不必为每个想要调用的DLL创建一个新的.exe。

但是,如果你想开始一个新的进程,你应该开始一个新的进程,这通常是通过启动一个新的.EXE来实现的。

猜你在找的Windows相关文章