gpt4 book ai didi

c# - 在 C# 命令行应用程序中包含并执行 EXE

转载 作者:行者123 更新时间:2023-11-30 16:33:24 25 4
gpt4 key购买 nike

所以我找到了一个很棒的小 EXE 命令行应用程序(我们称之为 program.exe),它输出一些我想用 C# 操作的数据。

我想知道是否有一种方法可以将 program.exe“打包”到我的 visual studio 项目文件中,这样我就可以将编译后的应用程序交给同事,而不必将 program.exe 也发送给他们。

感谢任何帮助。

最佳答案

您可以通过多种方式完成此操作。首先,您应该将 program.exe 添加到项目中。为此,您可以在 Visual Studio 中右键单击项目,然后选择“添加”>“现有项目...”。选择 program.exe,它将出现在项目中。查看其属性,您可以将“复制到输出目录”设置为“始终复制”,它将出现在您的应用程序旁边的输出目录中。

解决该问题的另一种方法是将其作为资源嵌入。将 program.exe 添加到项目后,将项目的 Build Action 属性从 Content 更改为 Embedded Resource。在运行时,您可以使用 Assembly.GetManifestResourceStream 提取命令行可执行文件并执行它。

    private static void ExtractApplication(string destinationPath)
{
// The resource name is defined in the properties of the embedded
string resourceName = "program.exe";
Assembly executingAssembly = Assembly.GetExecutingAssembly();
Stream resourceStream = executingAssembly.GetManifestResourceStream(resourceName);
FileStream outputStream = File.Create(destinationPath);
byte[] buffer = new byte[1024];
int bytesRead = resourceStream.Read(buffer, 0, buffer.Length);
while (bytesRead > 0)
{
outputStream.Write(buffer, 0, bytesRead);
bytesRead = resourceStream.Read(buffer, 0, buffer.Length);
}

outputStream.Close();
resourceStream.Close();
}

关于c# - 在 C# 命令行应用程序中包含并执行 EXE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3238744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com