我应该如何调用与我的主应用程序一起分发的.NET exe

Jam*_*esW 1 .net c# executable reference visual-studio

我有一个.NET Windows应用程序,需要调用另一个.NET可执行文件.我想将此其他exe作为主项目的一部分进行分发,并且想知道实现它的最佳方法是什么.我们不想从第二个exe中获取代码并将其放在主项目中,因为我们需要exe来有效地保持密封,因为我们还将它分发给第三方.

正在考虑的方案:

  1. 我应该将exe作为文件添加到项目中并将Copy to Output设置为'Always always'然后从主应用程序文件夹中运行它吗?
  2. 我应该在主项目中添加exe作为参考吗?如果我这样做,我怎么称它为带参数的可执行文件?

如果您有任何其他方法可以实现我的目标,我将非常感谢您对上述方法的一些指导.

谢谢!

Jon*_*eet 5

在exe文件中执行代码有两种不同的方法:

  • 作为一个单独的过程:使用System.Diagnostics.Process并传递任何信息作为命令行参数
  • 在同一个过程中,使用普通的.NET方法调用
  • 在同一个过程中单独进行 AppDomain

这两个都很好; 在第一个版本中,您根本不需要主项目引用exe:只需将它包含在您的设置/部署项目中(如果有的话).如果您正在使用xcopy部署(即只是获取输出目录的内容),那么您可以添加对exe的引用,以便将其复制.

要使用第二个表单,您需要在项目中添加对exe文件的引用.如果您很乐意在进程中调用代码,这可能是最简单的解决方案.

第三种形式可以使用参考,但不必.这比第二个选项提供更多隔离,但小于第一个选项.