WPFアプリケーションを起動するAppDomain.ExecuteAssembly呼び出しの一部として渡されるコマンドライン引数にアクセスする明確な方法はありますか?別のappdomainのWPFアプリケーションへのコマンドライン引数へのアクセス
私は別のアプリケーションドメインでWPFアプリケーションをスピンアップし、そのようなアプリケーションに引数を渡している:
AppDomain moduleDomain = AppDomain.CreateDomain("Friendly Name");
moduleDomain.ExecuteAssembly(path, new[] { "arg1", "arg2" });
Environment.GetCommandLineArgs()とStartupEventArgsの両方がコマンドライン引数を返すので、これらの引数にアクセスするためのwork-aroundは、あります元のアプリケーションではなく、ExecuteAssembly()でスピンアップされたアプリケーションではありません。
私は、好ましくはStartupEventArgsを使用してMainメソッドを手動で定義しなくても、WPFアプリケーションに渡される引数にアクセスしたいと考えています。そうする方法はありますか?
別のプロセスでWPFアプリケーションを起動するとパフォーマンスは低下し、デバッグは複雑になります。
コマンドライン引数が単に 'string'であり、それらが不変であることを考慮すると、' string'プロパティの中にそれを保持し、そのプロパティの値を渡すのはなぜですか?異なるドメイン間で文字列を渡すことはできますか?私はイエスと思う。 – Tigran
ありがとう、Tigran、これはAppDomain.SetDataを使用して私が満足しているソリューションに導いてくれます。このシステムでは、さらに8時間は回答を投稿できませんが、できるだけ早く全解決策を投稿します – Caleb