我正在尝试使用csc将我的C#程序编译为独立的.exe,但我不知道如何从该项目的资源中包含两个.exes。我需要在最终的standalone.exe中使用它们。 csc告诉我它们是二进制而不是文本文件(好吧)。 任何帮助,将不胜感激 ! :3
编辑:使用/ resource:我将其缩小到这个:
如果重要的是:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
bool is64bit = !string.IsNullOrEmpty(
Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"));
if (is64bit == true)
{
ProcessStartInfo startInfo = new ProcessStartInfo("devcon64.exe");
startInfo.Arguments = "restart =display *";
Process.Start(startInfo);
}
else
{
ProcessStartInfo startInfo = new ProcessStartInfo("devcon32.exe");
startInfo.Arguments = "restart =display *";
Process.Start(startInfo);
}
}
}
}
答案 0 :(得分:0)
假设您希望将这些作为嵌入资源,您应该只能使用/resource
标志:
csc Foo.cs /resource:Bar.exe /resource:Baz.exe
如果您希望它们不是嵌入式资源,那么您需要澄清您的要求。
答案 1 :(得分:0)
不是我知道的。您必须包含其他可执行文件 分开。
如果可执行文件是自包含的,并且没有您的依赖项 需要发货,然后你可以将可执行文件包含在中 你的主要可执行文件,然后提取并保存到磁盘并执行它 需要的时候。它仍然需要一些跨进程通信 得到结果,但你必须有一个可执行文件 船。
P.S。 你也可以阅读 similar topic