是否可以在.net DLL中嵌入和使用可移植可执行文件?

时间:2020-03-05 18:52:36  来源:igfitidea点击:

想到我的问题的最简单方法是想到一个简单的unix命令(尽管这是针对Windows的),并且我需要编程访问才能运行它。

我有一个基于命令行的可执行文件,可以执行某些工作单元。我想使用.net进程库调用该可执行文件,就像处理其他任何可执行文件一样。

但是,我突然意识到,该dll有可能变得无用或者因对该可执行文件或者不存在的可执行文件进行意外更新而中断。

是否可以像从外部可执行文件中那样从.net框架中的Process对象运行可执行文件?

解决方案

回答

这是PInvoke可以提供帮助的地方吗?

回答

不,我们不能直接执行它。我们可能将其解压缩到一个临时目录并从那里执行它。

回答

根据要运行的命令行程序的功能,可能可以在PowerShell中复制该功能,我们可以在其中将PowerShell运行时嵌入到.NET应用程序中。

回答

我发现了一篇文章,其中包含@garretmagin所说的一些示例代码:

https://web.archive.org/web/20081229032509/http://www.cs.nyu.edu/~vs667/articles/embed_executable_tutorial/