0

2 つのプロジェクトを含む C# のソリューションがあります。1 つは Windows フォーム アプリケーションで、もう 1 つはコンソール アプリケーションです。両方のプロジェクトは、プログラムの実行時に開始するように設定されています。ユーザーが意識する必要のないいくつかのタスクを実行するためにコンソール アプリケーションを使用しているため、出力タイプを Windows フォーム アプリケーションとして設定しました。その後、コンソール アプリケーションはタスクを完了して閉じますが、ボタンを押すことで Windows フォーム アプリケーションから再度実行できるようにしたいと考えています。これを行うにはどうすればよいですか?
また、Windows フォーム アプリケーションで Application.Exit() を使用すると、両方のプロジェクトが閉じますか、それとも Windows フォームのプロジェクトだけを閉じますか?

4

2 に答える 2

1

その後、コンソール アプリケーションはタスクを完了して閉じますが、ボタンを押すことで Windows フォーム アプリケーションから再度実行できるようにしたいと考えています。これを行うにはどうすればよいですか?

Process.Startを使用するだけで、コンソール実行可能ファイルへのパスを渡すことができます。

また、Windows フォーム アプリケーションで Application.Exit() を使用すると、両方のプロジェクトが閉じられますか、それとも Windows フォームのプロジェクトだけが閉じられますか?

アプリケーションはアセンブリの実行コンテキスト、つまりEXEコードが実行された場所を指します。したがって、あなたの場合、WindowsForms アプリケーションのみを閉じます。

于 2013-04-30T09:35:10.080 に答える
0

コンソール アプリケーションで必要なメソッドがパブリックである限り、他のアプリケーションから直接呼び出すことができるはずです。呼び出し元のプロジェクトに参照を追加するだけです。

実際、このような共通のものが必要な場合は、共通のロジックを としてビルドされた別のプロジェクトに配置し、.dll必要に応じてコンソールと winforms-projects の両方でこれを使用することを検討してください。

于 2013-04-30T09:34:40.530 に答える