以下は機能の例です。 WPFアプリからパラメータとしてjson文字列を含む.exeを正しく開始するにはどうすればよいですか?
public class StartParams
{
public string ParameterOne { get; set; }
public string ParameterTwo { get; set; }
public string ParameterThree { get; set; }
}
:
は、私はこのようなモデルを持っています。
次にJSON文字列をパラメータとして使用して.exeファイルを起動しています。
public static async Task DoSomething(string jsonStartParams)
{
var startParams = JsonConvert.DeserializeObject<StartParams>(jsonStartParams);
デバッグ、私はこのようなFILE.EXEに静的なMainメソッドを呼び出すことができます:
string[] parameters = {jsonStartParams};
File.Program.Main(parameters);
ProcessStartInfo info = new ProcessStartInfo
{
Arguments = jsonStartParams,
FileName = "C:\\Folder\\File.exe"
};
Process.Start(info);
FILE.EXE
で、私は文字列を受け取り、タスクを持っています これは魅力的ですが、JSON文字列パラメータを使用してProcess.Startで.exeファイルを呼び出すとすぐに、
で失敗しますJSONオブジェクト内の最初のプロップでNewtonsoft.Json.JsonReaderException
。
解決策の正しい方向に私を指摘できますか?
ありがとうございました!
私はあなたがそれをやろうとしていないと思います。 Windowsのコマンド文字列を適切にエスケープするのは非常に難しいです。以下の答えは役に立たない。代わりに、JSON文字列をTEMPファイルに保存し、そのファイル名をパラメータとして使用するか、stdin経由で.exeにパイプしてください。 – Jacob