考虑我的问题的最简单方法是考虑一个简单的 unix 命令(尽管这是针对 Windows 的),我需要编程访问来运行它。
我有一个基于命令行的可执行文件来执行某些工作单元。我想使用 .net 进程库调用该可执行文件,就像我可以使用任何其他可执行文件一样。
但是,我突然意识到 dll 有可能变得无用或因对可执行文件或不存在的可执行文件的意外更新而中断。
是否可以像运行外部可执行文件一样从 .net 框架中的 Process 对象运行可执行文件?
考虑我的问题的最简单方法是考虑一个简单的 unix 命令(尽管这是针对 Windows 的),我需要编程访问来运行它。
我有一个基于命令行的可执行文件来执行某些工作单元。我想使用 .net 进程库调用该可执行文件,就像我可以使用任何其他可执行文件一样。
但是,我突然意识到 dll 有可能变得无用或因对可执行文件或不存在的可执行文件的意外更新而中断。
是否可以像运行外部可执行文件一样从 .net 框架中的 Process 对象运行可执行文件?
不,你不能直接执行它。您可能可以将其解压缩到一个临时目录并从那里执行它。
这是PInvoke可以提供帮助的地方吗?
根据您要运行的命令行程序的功能,可能会在 PowerShell 中复制该功能,您可以在其中将 PowerShell 运行时嵌入到您的 .NET 应用程序中。