0

コンソール ツールを組み合わせてマネージド .net DLL にパックする方法はありますか。次に、DLL から関数を呼び出すことで、各コンソール ツールの関数を呼び出すことができます。

元。(ほんの一例)

trim.exe
 Usage:trim.exe <input> <ouput>

copy.exe
 Usage:copy.exe <input> <ouput>

次に、関数のように呼び出すことができます

Utilities.Trim("input.txt","ouptut.txt");
Utilities.Copy("input.txt","ouptut.txt");

残念ながら、これらのコンソール ツールのソース コードにアクセスすることはできません。

4

2 に答える 2

1

考えられる解決策は、次のように外部ツールを実行することです。

string windowsVersion = Utilities.GetWindowsVersion(); 
//...
static class Utilities { // Just a sample of cmd.exe invocation
    public static string GetWindowsVersion() {
        using(Process versionTool = new Process()) {
            versionTool.StartInfo.FileName = "cmd.exe";
            versionTool.StartInfo.Arguments = "/c ver";
            versionTool.StartInfo.UseShellExecute = false;
            versionTool.StartInfo.RedirectStandardOutput = true;
            versionTool.Start();
            string output = versionTool.StandardOutput.ReadToEnd();
            versionTool.WaitForExit();
            return output.Trim();
        }
    }
}

これらの実行可能ファイルをプログラムに (リソースとして) 埋め込み、実行時にこれらのツールを特定の場所に抽出してから、上記で指定したようにこれらのツールを実行できます。

次のスレッドもご覧ください: process.start() embedded exe without extracting to file first c#

于 2013-09-05T15:30:29.487 に答える
1

はい、埋め込みリソースから実行可能な実行ファイルを探しています。

このC#プログラム内に外部実行可能ファイルを埋め込むことが役立ちます。

于 2013-09-05T15:26:48.050 に答える