1

csc を使用して C# プログラムをスタンドアロンの .exe にコンパイルしようとしていますが、そのプロジェクトのリソースから 2 つの .exe を含めることができません。最終的なstandalone.exeでそれらが必要です。csc は、それらがテキスト ファイルではなくバイナリであることを教えてくれます (当たり前のことです)。どんな助けでも大歓迎です!:3

編集: /resource: を使用して、これに絞り込みました:

http://puu.sh/38mMq.png

また、重要な場合:

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);
        }
    }
}
}
4

2 に答える 2

0

/resourceこれらを埋め込みリソースとして使用すると仮定すると、次のフラグを使用できるはずです。

csc Foo.cs /resource:Bar.exe /resource:Baz.exe

埋め込みリソース以外のものが必要な場合は、求めているものを明確にする必要があります。

于 2013-06-04T19:40:54.110 に答える
0

私が知っていることではありません。他の実行可能ファイルを個別に含める必要があります。

実行可能ファイルが自己完結型で、配布する必要のある依存関係がない場合は、実行可能ファイルをリソースとしてメインの実行可能ファイルに含め、抽出してディスクに保存し、必要に応じて実行できます。結果を得るには、やはりクロスプロセス通信が必要ですが、1 つの実行可能ファイルを出荷する必要があります。

元の答え

ps同様のトピックも読むことができます

于 2013-06-04T19:41:01.680 に答える