加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-13 20:54:24 所属栏目:Windows 来源:网络整理
导读:如果有一种方法可以在新进程中执行静态的.DLL方法,而不必为它创建一个.EXE,我很好奇 AFAIK,这是不可能的本机Win32 / 64 DLL。 .NET DLL程序集怎么样? 更新:我忘了提到我主要感兴趣的是以编程方式(从C#代码,具体到)。 谢谢! 结论:虽然没有人敢于拼出
如果有一种方法可以在新进程中执行静态的.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来实现的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读